Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Параметры в запросе. / 19 сообщений из 19, страница 1 из 1
02.10.2003, 17:50
    #32282446
Alex_2003
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры в запросе.
Господа Access-строители, подскажите плиз, как передать параметр в запрос, который сохранен в базе? Временно приходится работать с Access, после SQL Server, как то необычно.
Т.е. мне нужно например запустить запрос "qryReport" и передать в него значение для строки WHERE.
...
Рейтинг: 0 / 0
02.10.2003, 17:54
    #32282454
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры в запросе.
Код: plaintext
1.
2.
3.
4.
5.
Dim q As QueryDef, p As Parameter\r
Set q = CurrentDb.QueryDefs( "ИмяЗапроса" )\r
For Each p In q.Parameters\r
p.Value = ...\r
Next\r
q.Execute
\r
Подробнее:\r
\r
/topic/45634
...
Рейтинг: 0 / 0
02.10.2003, 17:58
    #32282460
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры в запросе.
Ну и?
В конструкторе запроса правой гайкой - "Параметры"
А запустить - или через ADO.Command, или через DAO.QueryDef
...
Рейтинг: 0 / 0
02.10.2003, 17:59
    #32282462
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры в запросе.
апаздал
...
Рейтинг: 0 / 0
02.10.2003, 18:30
    #32282511
Alex_2003
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры в запросе.
Дело в том, что метож Execute не возвращает записей, а мне нужно сделать выборку, соответственно я использовал метод .OpenRecordset, но как определить количество возвращаемых записей?
...
Рейтинг: 0 / 0
02.10.2003, 18:34
    #32282514
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры в запросе.
Если запрос не возвращает записей, то и Execute не возвращает записей. :^) Но с OpenRecordset все можно делать точно так же.

> но как определить количество возвращаемых записей?

А зачем?
...
Рейтинг: 0 / 0
02.10.2003, 18:40
    #32282525
Alex_2003
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры в запросе.
А зачем?
Допустим, я запустил запрос с параметром, и в зависимости от того вернул ли запрос записи или нет я блокирую определенные контролы на форме, пусть это будет кнопка.

А что метод .Execute выполнит выборку "SELECT..."??? Странно??
...
Рейтинг: 0 / 0
03.10.2003, 09:09
    #32282771
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры в запросе.
А что метод .Execute выполнит выборку "SELECT..."??? Странно??

Помимо метода Execute есть еще и OpenRecordset
А уж у рекордсета и определяй количество записей. Отсутствие записей - одновременно EOF и BOF
...
Рейтинг: 0 / 0
03.10.2003, 13:00
    #32283151
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры в запросе.
Запросы, возвращающие записи, - это те, которые начинаются на селект. Для них надо пользоваться командой опенрекордсет. Для открытого рекордсета факт наличия записей можно проверить так, как написал Лох.

Не возвращающие - это те, которые начинаются на инсерт, дилит и т.д. Для них надо делать экзекьют.
...
Рейтинг: 0 / 0
03.10.2003, 13:57
    #32283272
Alex_2003
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры в запросе.
Да, спасибо, я еще вчера разобрался.
Теперь новый вопрос...

Дело в том, что у меня форма построена на запросе, который имеет параметр. Как при открытии формы использовать этот параметр.
Раньше, запрос не содержал параметра, и я использовал Conditions (для фильтра) при открытии формы. Сейчас создал новый отчет (основанный на этом же запросе) и пришлось вставить в запрос параметр. Но как теперь открыть форму используя тот же фильтр? При открытии формы выскакивает имя параметра запроса.
...
Рейтинг: 0 / 0
03.10.2003, 14:04
    #32283278
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры в запросе.
Св-во InputParameters у формы (аксес начиная с 2000-го)
...
Рейтинг: 0 / 0
03.10.2003, 15:10
    #32283392
Alex_2003
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры в запросе.
К сожалению у меня Access 97...
...
Рейтинг: 0 / 0
03.10.2003, 15:17
    #32283404
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры в запросе.
Тогда ты попал.
Вместо параметра используй ссылку на какой-нибудь контрол в какой-нибудь форме. Тот же параметр, но автоматически подцепится.
Или, опять таки, вместо параметра используй вызов своей функции (которая что нужно возвратит). Мне такое решение ни фига не нравится, но работать будет.
...
Рейтинг: 0 / 0
03.10.2003, 15:40
    #32283454
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры в запросе.
> Мне такое решение ни фига не нравится, но работать будет.

А есть другие варианты? Открывать скрытую форму и все держать на ней? Чем это лучше?
...
Рейтинг: 0 / 0
03.10.2003, 15:56
    #32283489
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры в запросе.
Другие варианты всегда есть (хоть динамически строку запроса формировать).
Ни один из них мне не нравится. Ни один из них ничем не лучше.
Ссылки на формы - противны, но меньше, чем другие варианты.

Всю свою сознательную жизнь на 97-м удивлялся - почему не сделали св-во Recordset. После выхода 2000-го аксеса плююсь - почему не сделали этого раньше.
...
Рейтинг: 0 / 0
03.10.2003, 16:01
    #32283500
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры в запросе.
О, мсье эстет! На знал, не знал... Миль пардон. Не, ну я могу согласиться, конечно, что программировать на таких-то версиях такого-то продукта такой-то фирмы (не будем показывать пальцем, хотя это Майкрософт) кому-то может оказаться противно. Но ведь мы живем в той действительности, какая есть, и поэтому вопрос остается: какие есть способы лучше, чем использование юзерских функций в селекте?
...
Рейтинг: 0 / 0
03.10.2003, 16:04
    #32283502
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры в запросе.
P.S. Наверно, надо сойтись на такой формулировке: этот способ самый хороший, хотя вообще работать на Аксессе неэстетично.
...
Рейтинг: 0 / 0
03.10.2003, 16:09
    #32283512
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры в запросе.
Да работать-то на аксесе вполне эстетично. За исключением нескольких дерьмовеньких проблем, которые разрешаются только некрасивыми методами.

Хорошо хоть с новыми версиями таких ляпсусов поменьше становится. Хотя тоже, зачем им надо было ждать от 2000 до 2002-го аксеса чтобы св-во Recordset добавить не только в формы, но и в отчеты? Загадка.
...
Рейтинг: 0 / 0
03.10.2003, 16:26
    #32283540
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры в запросе.
Зачем в Аксессе недоделки - об этом мы спорили очень давно.\r
\r
/topic/31794
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Параметры в запросе. / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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