|
|
|
Параметры в запросе.
|
|||
|---|---|---|---|
|
#18+
Господа Access-строители, подскажите плиз, как передать параметр в запрос, который сохранен в базе? Временно приходится работать с Access, после SQL Server, как то необычно. Т.е. мне нужно например запустить запрос "qryReport" и передать в него значение для строки WHERE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2003, 17:50 |
|
||
|
Параметры в запросе.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. Подробнее:\r \r /topic/45634 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2003, 17:54 |
|
||
|
Параметры в запросе.
|
|||
|---|---|---|---|
|
#18+
Ну и? В конструкторе запроса правой гайкой - "Параметры" А запустить - или через ADO.Command, или через DAO.QueryDef ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2003, 17:58 |
|
||
|
Параметры в запросе.
|
|||
|---|---|---|---|
|
#18+
Дело в том, что метож Execute не возвращает записей, а мне нужно сделать выборку, соответственно я использовал метод .OpenRecordset, но как определить количество возвращаемых записей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2003, 18:30 |
|
||
|
Параметры в запросе.
|
|||
|---|---|---|---|
|
#18+
Если запрос не возвращает записей, то и Execute не возвращает записей. :^) Но с OpenRecordset все можно делать точно так же. > но как определить количество возвращаемых записей? А зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2003, 18:34 |
|
||
|
Параметры в запросе.
|
|||
|---|---|---|---|
|
#18+
А зачем? Допустим, я запустил запрос с параметром, и в зависимости от того вернул ли запрос записи или нет я блокирую определенные контролы на форме, пусть это будет кнопка. А что метод .Execute выполнит выборку "SELECT..."??? Странно?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2003, 18:40 |
|
||
|
Параметры в запросе.
|
|||
|---|---|---|---|
|
#18+
А что метод .Execute выполнит выборку "SELECT..."??? Странно?? Помимо метода Execute есть еще и OpenRecordset А уж у рекордсета и определяй количество записей. Отсутствие записей - одновременно EOF и BOF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 09:09 |
|
||
|
Параметры в запросе.
|
|||
|---|---|---|---|
|
#18+
Запросы, возвращающие записи, - это те, которые начинаются на селект. Для них надо пользоваться командой опенрекордсет. Для открытого рекордсета факт наличия записей можно проверить так, как написал Лох. Не возвращающие - это те, которые начинаются на инсерт, дилит и т.д. Для них надо делать экзекьют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 13:00 |
|
||
|
Параметры в запросе.
|
|||
|---|---|---|---|
|
#18+
Да, спасибо, я еще вчера разобрался. Теперь новый вопрос... Дело в том, что у меня форма построена на запросе, который имеет параметр. Как при открытии формы использовать этот параметр. Раньше, запрос не содержал параметра, и я использовал Conditions (для фильтра) при открытии формы. Сейчас создал новый отчет (основанный на этом же запросе) и пришлось вставить в запрос параметр. Но как теперь открыть форму используя тот же фильтр? При открытии формы выскакивает имя параметра запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 13:57 |
|
||
|
Параметры в запросе.
|
|||
|---|---|---|---|
|
#18+
Св-во InputParameters у формы (аксес начиная с 2000-го) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 14:04 |
|
||
|
Параметры в запросе.
|
|||
|---|---|---|---|
|
#18+
К сожалению у меня Access 97... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 15:10 |
|
||
|
Параметры в запросе.
|
|||
|---|---|---|---|
|
#18+
Тогда ты попал. Вместо параметра используй ссылку на какой-нибудь контрол в какой-нибудь форме. Тот же параметр, но автоматически подцепится. Или, опять таки, вместо параметра используй вызов своей функции (которая что нужно возвратит). Мне такое решение ни фига не нравится, но работать будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 15:17 |
|
||
|
Параметры в запросе.
|
|||
|---|---|---|---|
|
#18+
> Мне такое решение ни фига не нравится, но работать будет. А есть другие варианты? Открывать скрытую форму и все держать на ней? Чем это лучше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 15:40 |
|
||
|
Параметры в запросе.
|
|||
|---|---|---|---|
|
#18+
Другие варианты всегда есть (хоть динамически строку запроса формировать). Ни один из них мне не нравится. Ни один из них ничем не лучше. Ссылки на формы - противны, но меньше, чем другие варианты. Всю свою сознательную жизнь на 97-м удивлялся - почему не сделали св-во Recordset. После выхода 2000-го аксеса плююсь - почему не сделали этого раньше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 15:56 |
|
||
|
Параметры в запросе.
|
|||
|---|---|---|---|
|
#18+
О, мсье эстет! На знал, не знал... Миль пардон. Не, ну я могу согласиться, конечно, что программировать на таких-то версиях такого-то продукта такой-то фирмы (не будем показывать пальцем, хотя это Майкрософт) кому-то может оказаться противно. Но ведь мы живем в той действительности, какая есть, и поэтому вопрос остается: какие есть способы лучше, чем использование юзерских функций в селекте? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 16:01 |
|
||
|
Параметры в запросе.
|
|||
|---|---|---|---|
|
#18+
P.S. Наверно, надо сойтись на такой формулировке: этот способ самый хороший, хотя вообще работать на Аксессе неэстетично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 16:04 |
|
||
|
Параметры в запросе.
|
|||
|---|---|---|---|
|
#18+
Да работать-то на аксесе вполне эстетично. За исключением нескольких дерьмовеньких проблем, которые разрешаются только некрасивыми методами. Хорошо хоть с новыми версиями таких ляпсусов поменьше становится. Хотя тоже, зачем им надо было ждать от 2000 до 2002-го аксеса чтобы св-во Recordset добавить не только в формы, но и в отчеты? Загадка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 16:09 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32282462&tid=1679069]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
73ms |
get tp. blocked users: |
2ms |
| others: | 242ms |
| total: | 427ms |

| 0 / 0 |
