powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Запрос к БД из Excel
3 сообщений из 3, страница 1 из 1
Запрос к БД из Excel
    #32361966
Evgenyy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Из excel происходит запрос к БД (через макрос, повешенный на кнопку)
С результатом запроса необходимо проделать ряд операций.
(Запрос однозначно возвращает какие-либо данные)

Код макроса начинается с выполнения запроса к БД
..........
With ActiveSheet.QueryTables.Add(Connection:=connstring, Destination:=Range("A13"), Sql:=sqlstring)
.Refresh
End With
........
Далее по коду, в определенные ячейки заносится различная информация.
Например:
Cells(6, 1) = "Склад 1"
Cells(7, 1) = "накладная № " + Cells(14, 1)
Запрос выводит дату в ячейку Cells(14, 1) и взять ее, казалось бы, труда не составляет.
Вот только, хоть занесение значений в ячейки стоит ниже по коду программы, чем выполнение запроса к БД, но реально, сначала происходят действия заполнения ячеек.
При этом в ячейке Cells(14, 1), конечно же ничего нет. И спустя секунду в ожидаемые ячейки заносится результат запроса. Но ячейка со строкой "накладная №" номера накладной не содержит, т.к. она вывелась до того, как отработал запрос.

Вопрос такой:
1. Почему вообще так происходит?
2. Как можно дождаться выполнения запроса и только потом выполнять все остальные действия?
...
Рейтинг: 0 / 0
Запрос к БД из Excel
    #32361985
Фотография PA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.Refresh False
...
Рейтинг: 0 / 0
Запрос к БД из Excel
    #32362225
Evgenyy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Запрос к БД из Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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