Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Программно удалить запрос / 11 сообщений из 11, страница 1 из 1
12.06.2004, 20:10:50
    #32559483
nostra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программно удалить запрос
Нужно динамически менять запрос. Решил удалять и снова создавать.
Создать-то создал, а как удалить не знам.....
Помогите бедняжке..
...
Рейтинг: 0 / 0
12.06.2004, 20:13:42
    #32559484
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программно удалить запрос
Удалить:
CurrentDb.QueryDefs.Delete "myquery"

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

не проще через DoCmd.RunSQL ???
...
Рейтинг: 0 / 0
12.06.2004, 20:24:17
    #32559490
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программно удалить запрос
Тогда уже не DoCmd.RunSQL, а DoCmd.Execute.
...
Рейтинг: 0 / 0
12.06.2004, 20:36:43
    #32559494
vam911
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программно удалить запрос
Я имел в виду вообще не создавать запрос, а выполнить SQL из модуля. создание и удаление объектов медленные операции.
...
Рейтинг: 0 / 0
12.06.2004, 20:47:05
    #32559496
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программно удалить запрос
Лично я так и понял. :^)
...
Рейтинг: 0 / 0
13.06.2004, 20:33:57
    #32559903
nostra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программно удалить запрос
У меня отчет на основе запроса... А условие запроса надо менять... Во как..
...
Рейтинг: 0 / 0
13.06.2004, 20:54:44
    #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
13.06.2004, 21:14:51
    #32559914
Bely
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программно удалить запрос
Посмотри на свойства:
ServerFilter и Filter

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

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

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

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

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


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