powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Подключение ADODB. Как передать в другую процедуру?
4 сообщений из 4, страница 1 из 1
Подключение ADODB. Как передать в другую процедуру?
    #38551750
Melafon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Сейчас пишу клиент на 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
...
Рейтинг: 0 / 0
Подключение ADODB. Как передать в другую процедуру?
    #38551852
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Melafon!
You wrote on 6 февраля 2014 г. 14:13:31:

Melafon> Сейчас пишу клиент на Excel для управления базой данных FB.
это ужасно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Подключение ADODB. Как передать в другую процедуру?
    #38551926
Alex Truhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийэто ужасно.

Почему? BASIC как бэйсик. Я когда-то много на VBA писал, для анализа данных, очень мощный инструмент
...
Рейтинг: 0 / 0
Подключение ADODB. Как передать в другую процедуру?
    #38551948
Melafon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
для моих целей нормально. Цель - ведение базы согласованных счетов. Т.е. в Excel заводим, нажимаем кнопку, информация добавляется в базу, где есть бюджет, обрабатывается, на выходе получаем сводную, где есть остаток бюджета. От екселя всего то и требуется - ввод около 10 полей + подгрузка проводок и справочников. Ну и вывод информации в сводную. FireBird и вообще всем связанным с SQL усиленно начал заниматься пару месяцев назад. Еще в начале ноября даже не подозревал о существовании FB. В офисе на VBA программирую с 2008г., в последнее время использовал связку Excel -> Access, управление Access из excel (автоматическая загрузка данных, выполнение макросов из access). Поэтому логично, что первое, что попытался сделать, это из Excel управлять....
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Подключение ADODB. Как передать в другую процедуру?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]