IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Программирование (https://www.imho.ws/forumdisplay.php?f=40)
-   -   Динамическй запрос в Access (https://www.imho.ws/showthread.php?t=131959)

metrim 04.05.2008 05:30

Динамическй запрос в Access
 
Собственно у меня есть табличка (форма). Там - моле со списком. Список является результатом запроса.
Проблема же в следующем: оказывается что форма один раз выполнив запрос, хранит его результаты неизменными до закрытия формы (таблицы), однако мой запрос - должен меняться в результате заполнения формы.
Т.е. я ставлю допустим флажки в форме или добавляю значения и список запроса должен пополниться новыми данными, однако этого не происходит. Приходится закрывать и снова открывать форму.
Как с этим бороться?

Alex Dark 04.05.2008 09:56

metrim
Цитата:

Сообщение от metrim (Сообщение 1550494)
оказывается что форма один раз выполнив запрос, хранит его результаты неизменными до закрытия формы (таблицы)

Делай обработку условий обновления. Или другими словами, реакцию на твои действия.


Цитата:

Сообщение от metrim (Сообщение 1550494)
Приходится закрывать и снова открывать форму.

Акцес давно в руки не брал, по памяти есть Refresh (кажеться на формах работает - на запросы не влияет)
и Recvery - это как раз на запрос.

metrim 04.05.2008 20:53

Цитата:

Сообщение от Alex Dark (Сообщение 1550541)
и Recvery - это как раз на запрос.

Только что то про эту команду ни ВБА, ни Оффис, ни сайт поддержки - ничего не знает :(
Вообще мне надо инициировать обновление списка поля. Т.е. если я внес изменения в базу - результаты запроса по любому ведь изменятся, надотолько что бы списочек поля обовился
Непонятно как этого только добится ...

Вообще задача такова сама по себе:
Есть табличка. С ей я работаю при помощи формы.
В табличке записи разумеется. но некоторые записи должны быть как бы заголовками группы , а "рядовые" записи - должны в эту группы включаться.
Логика такая: из выпадающего списка (результата зароса ищущего "заголовки групп" можно выбрать группу для текущей записи или сделать её саму заголовком. При этом надо, что бы раз запись сделана заголовком, при переходе к следующей записе в списке должна иметься свежедобавленная группа
Вероятно нао делать какой то Рефреш , только не могу понять где и как это прописывать :(

Alex Dark 05.05.2008 07:50

Еще раз повторюсь. Пишу по памяти. Второе: может в новых версиях появились новые команды, но тут я пас.
Если будет время на выходных посмотрю. Сейчас занят.


Логика следующая.
Если ты в форме используешь элементы управления, которые должны влиять на результат запроса, то:
1. Как ты делаешь запрос? Можно делать "ручками" - писать "Select * from ... where" и готовую строку втюхивать в запрос.
или Использовать "Стандартные средства".
(мне нравится 1 подход, чаще всего более тяжелый, но с большими возможностями)
В любом случае после изменения элементами управления ты должен сказать access что у тебя произошли изменения в запросе: запрос.recvery
Далее, сказать в формочке объекту (на который влияет твой запрос) что данные изменились и требуется обновление Me.Объект.Refresh

PS Возможно Refresh - это из другого языка. Смотри в помощи какая команда обновляет/перерисовывает объект

EvroStandart 05.05.2008 15:12

Цитата:

Сообщение от Alex Dark (Сообщение 1550863)
запрос.recvery

requery


Часовой пояс GMT +4, время: 09:11.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.