Страницы: 1
RSS
VBA обновление запроса PQ с дальнейшим копированием полученных данных, Обновление запроса PQ с помощью макроса с дальнейшим копированием полученных данных
 
Добрый день, специалисты, подскажите, пожалуйста, что делаю не так. Требуется, чтобы: 1) сначала обновлялся запрос PQ; 2) полученные в результате обновления запроса данные копировались бы в другую таблицу. Я пытаюсь решить эту задачу с помощью макроса, который по очереди запускает два макроса, первый из который обновляет запрос, а второй - копирует и вставляет данные из таблицы запроса в другую. Но желаемого результата у меня не получается: обновление запроса происходит уже после того как отрабатывается копирование. Сразу хочу написать, что видела на форуме рассмотренную ситуацию, где в комментариях кода (к сожалению, совсем непонятного для меня) идет речь о принудительном ожидании завершения запроса,
https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=150928&a...
но никак не могу эту ситуацию спроецировать на на свои малюсенькие две строчки. Помогите, пожалуйста, кто не видит в этом сложности.
Код
Sub БазовыеПараметрыВ_Базы()

Обновление
Копирование

End Sub
Изменено: ЕленаЕлина - 10.02.2024 18:47:55
 
eeeeeee, У Вас клавиша залипла? Измените отображаемое имя
Согласие есть продукт при полном непротивлении сторон.

Контакты, благодарности
 
Sanja, отстань, просто у него родители были заиками, а в ЗАГСе работали идиоты.
По вопросам из тем форума, личку не читаю.
 
Sanja, нет проблем, буду иметь в виду, а по существу вопроса?
 
Ну по ссылке выше вроде все понятно. Запускаете макрос от Дмитрий(The_Prist) Щербаков, а далее макрос Копирования
Согласие есть продукт при полном непротивлении сторон.

Контакты, благодарности
 
Скрытый текст
 
Альтернатива - обрабатывать событие Application.AfterCalculate.
Владимир
 
R091n, большое спасибо, но не получается
Compile error:
Variable not defined
Изменено: ЕленаЕлина - 10.02.2024 19:36:35
 
ЕленаЕлина, Исправьте сообщение. Не нужно вставлять картинки в сообщение. И вообще, на форуме по Excel, уместнее соответствующие файлы. Вы на форум по Фотошопу догадались бы приложить файл Excel? Думаю нет. В Правилах форума (п.2.3) есть об этом. Ознакомьтесь
Согласие есть продукт при полном непротивлении сторон.

Контакты, благодарности
 
Цитата
ЕленаЕлина написал:
R091n , большое спасибо, но не получаетсяCompile error:Variable not defined
Данная ошибка может относиться к любой части Вашего кода, а Вы никак его не покажите. Хотя-бы КОД, не говоря о файле. Тут на форуме мало провидцев
При включенном параметре Option Explicit ВСЕ переменные должны быть определены. В коде от R091n, одна переменная и она определена Dim IsBG_Refresh As Boolean ищите проблему в Ваших макросах
Согласие есть продукт при полном непротивлении сторон.

Контакты, благодарности
 
Sanja, 1) Обновление запроса
Код
Sub Обновление()

    ActiveWorkbook.Connections("Запрос — БазовыеПараметры").Refresh
    
End Sub
2) Копирование данных
Код
Sub Копирование()

    Range("БазовыеПараметры").Select
    Selection.Copy
    Sheets("Товары").Select
    Range("Базы").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Базы").Select
    Range("R18").Select
End Sub
3) И макрос, который в первом сообщении, по моей идее он должен запускать эти два. Сейчас, вместо него разместила следующее:
Код
Sub БазовыеПараметрыВ_Базы()

Dim IsBG_Refresh As Boolean


IsBG_Refresh = Connection.OLEDBConnection.BackgroundQuery
Connection.OLEDBConnection.BackgroundQuery = False

Обновление

Connection.OLEDBConnection.BackgroundQuery = IsBG_Refresh

Копирование

End Sub

но код не выполняется.
 
Наверное как-то так. Проверить возможности нет, PQ не установлен
Скрытый текст

Цитата
Sanja написал:
В коде от  R091n , одна переменная и она определена Dim IsBG_Refresh As Boolean ищите проблему в Ваших макросах
Вот тут я ошибся. Была не объявлена переменная Connection)
Согласие есть продукт при полном непротивлении сторон.

Контакты, благодарности
 
Ага не заметил) что еще одна есть
Скрытый текст
 
R091n, спасибо! Спешу быстрее ответить Вам, что теперь работает. Еще не разобралась, но все правильно выполняется. Спасибо, что откликнулись на мою просьбу.
Страницы: 1
Наверх