powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Параметры в запросе.
19 сообщений из 19, страница 1 из 1
Параметры в запросе.
    #32282446
Alex_2003
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа Access-строители, подскажите плиз, как передать параметр в запрос, который сохранен в базе? Временно приходится работать с Access, после SQL Server, как то необычно.
Т.е. мне нужно например запустить запрос "qryReport" и передать в него значение для строки WHERE.
...
Рейтинг: 0 / 0
Параметры в запросе.
    #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
Параметры в запросе.
    #32282460
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и?
В конструкторе запроса правой гайкой - "Параметры"
А запустить - или через ADO.Command, или через DAO.QueryDef
...
Рейтинг: 0 / 0
Параметры в запросе.
    #32282462
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
апаздал
...
Рейтинг: 0 / 0
Параметры в запросе.
    #32282511
Alex_2003
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело в том, что метож Execute не возвращает записей, а мне нужно сделать выборку, соответственно я использовал метод .OpenRecordset, но как определить количество возвращаемых записей?
...
Рейтинг: 0 / 0
Параметры в запросе.
    #32282514
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Если запрос не возвращает записей, то и Execute не возвращает записей. :^) Но с OpenRecordset все можно делать точно так же.

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

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

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

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

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

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

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

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

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


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