powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Программно удалить запрос
11 сообщений из 11, страница 1 из 1
Программно удалить запрос
    #32559483
nostra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно динамически менять запрос. Решил удалять и снова создавать.
Создать-то создал, а как удалить не знам.....
Помогите бедняжке..
...
Рейтинг: 0 / 0
Программно удалить запрос
    #32559484
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Удалить:
CurrentDb.QueryDefs.Delete "myquery"

Изменить:
CurrentDb.QueryDefs!myquery.SQL = "select * from mytable"
...
Рейтинг: 0 / 0
Программно удалить запрос
    #32559488
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем запрос, который надо удалять????

не проще через DoCmd.RunSQL ???
...
Рейтинг: 0 / 0
Программно удалить запрос
    #32559490
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Тогда уже не DoCmd.RunSQL, а DoCmd.Execute.
...
Рейтинг: 0 / 0
Программно удалить запрос
    #32559494
vam911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я имел в виду вообще не создавать запрос, а выполнить SQL из модуля. создание и удаление объектов медленные операции.
...
Рейтинг: 0 / 0
Программно удалить запрос
    #32559496
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Лично я так и понял. :^)
...
Рейтинг: 0 / 0
Программно удалить запрос
    #32559903
nostra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня отчет на основе запроса... А условие запроса надо менять... Во как..
...
Рейтинг: 0 / 0
Программно удалить запрос
    #32559910
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так зачем его (запрос) удалять - пусть живет.
Просто каждый раз, когда он тебе нужен, обращаешься к нему и меняешь ему SQL:

Dim db as Database: Set db = CurrentDb
Dim qd as QueryDef: Set qd= sb.QueryDef("MyQuery")

qd.SQL = "SELECT ..."

и все - получаешь новый запрос со своими сритериями
...
Рейтинг: 0 / 0
Программно удалить запрос
    #32559914
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотри на свойства:
ServerFilter и Filter

Это тебе скорее всего поможет и ничего изменять и удалять не придется.

BTW: вместо того, чтобы перезаписывать текст зароса - гораздо лучше использовать его (запрос) вместо таблицы в SQL запросе.
Как я понимаю - Query для Access это некий аналог VIEW для остальных БД.

Пример:
Код: plaintext
1.
SELECT id, name FROM qrMyQuery mq
WHERE mq.name = 'Smith'
...
Рейтинг: 0 / 0
Программно удалить запрос
    #32559925
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я все-же за то, чтобы переписывать запрос - это более динамично и, чаще, работает быстрее фильтрации и сортировки. В новый текст запроса можно вставить вообще другой текст, базирующийся на других или на дополнительных таблицах. Попробуй то же самое сделать фильтрами - придется написать еще несколько запросов, а так только один - динамический
...
Рейтинг: 0 / 0
Программно удалить запрос
    #32559930
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У этого подхода есть как плюсы так и минусы...
Например: если этот запрос использует несколько форм/отчетов - то его переписывание приведет к чему угодно, кроме предсказуемой работы.

А SQL текст можно и не в запрос писать а сразу в Report.RecordSource - какая разница куда строку записывать...

Опять же... для тренировки остроты зрения:
ServerFilter и Filter - сервер фильтр не должен работать СИЛЬНО медленнее перезаписанного запроса.
Будет медленнее - если запросу требуется оптимизация сама по себе...
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Программно удалить запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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