|
|
|
Подключение ADODB. Как передать в другую процедуру?
|
|||
|---|---|---|---|
|
#18+
Добрый день! Сейчас пишу клиент на Excel для управления базой данных FB. Не могу решить проблему как заливать данные. Данные заливаются макросом построчечно, т.е. открываем соединение ADODB, бежим по строчкам, набираем данные строчки в переменную, выполняем, переходим к следующей строчке. Когда все залито, закрываем соединение. Проблема в том, что нужно подливать разные таблицы и соответственно писать под каждую отдельную процедуру, или для каждой строчки открывать соединение, выполнять, закрывать, а строчек может быть до 100 тыс., соответственно выполнение замедляется Хочется разделить на 2 процедуры. В основной запускаем процедуру открытия соединения, далее выполняем запросами все необходимые действия (которые в разных случаях будут разные), потом запускаем процедуру закрытия соединения. Это вообще возможно? Разделил эти этапы, только не знаю как объявить Public для подключения, чтобы использовать его в основной процедуре. 1. переменные, открытие соединения Dim FBcon As ADODB.Connection Dim FBcmd As ADODB.Command Set FBcon = CreateObject("ADODB.Connection") FBcon.Provider = "MSDASQL.1" FBcon.ConnectionString = "DSN=" & DSN_name & ";Driver=Firebird/InterBase(r) driver;Dbname=" & DB_name & ";CHARSET=WIN1251;UID=SYSDBA;Client=C:\Program Files\Firebird\Firebird_2_5\bin\fbclient.dll;" FBcon.Open Set FBcmd = CreateObject("ADODB.Command") FBcmd.ActiveConnection = FBcon FBcmd.CommandType = adCmdText 2.эта часть крутится в цикле перебирая строчки таблицы excel. Ее хочу вынести в основную процедуру FBcmd.CommandText = "insert into " & TableName & " " & columnstext & " values " & datatext & "" FBcmd.Execute 3. закрытие соединения FBcon.Close Set FBcon = Nothing ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 13:15:11 |
|
||
|
Подключение ADODB. Как передать в другую процедуру?
|
|||
|---|---|---|---|
|
#18+
Hello, Melafon! You wrote on 6 февраля 2014 г. 14:13:31: Melafon> Сейчас пишу клиент на Excel для управления базой данных FB. это ужасно. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 14:14:19 |
|
||
|
Подключение ADODB. Как передать в другую процедуру?
|
|||
|---|---|---|---|
|
#18+
Мимопроходящийэто ужасно. Почему? BASIC как бэйсик. Я когда-то много на VBA писал, для анализа данных, очень мощный инструмент ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 14:43:18 |
|
||
|
Подключение ADODB. Как передать в другую процедуру?
|
|||
|---|---|---|---|
|
#18+
для моих целей нормально. Цель - ведение базы согласованных счетов. Т.е. в Excel заводим, нажимаем кнопку, информация добавляется в базу, где есть бюджет, обрабатывается, на выходе получаем сводную, где есть остаток бюджета. От екселя всего то и требуется - ввод около 10 полей + подгрузка проводок и справочников. Ну и вывод информации в сводную. FireBird и вообще всем связанным с SQL усиленно начал заниматься пару месяцев назад. Еще в начале ноября даже не подозревал о существовании FB. В офисе на VBA программирую с 2008г., в последнее время использовал связку Excel -> Access, управление Access из excel (автоматическая загрузка данных, выполнение макросов из access). Поэтому логично, что первое, что попытался сделать, это из Excel управлять.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 14:50:00 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38551852&tid=1563913]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
231ms |
get topic data: |
11ms |
get forum data: |
4ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 223ms |
| total: | 560ms |

| 0 / 0 |
