Intereting Posts
Использование 'OR' между предложением HAVING и WHERE в MySQL? Должны ли мы использовать префиксы в наших соглашениях об именах таблиц базы данных? Подготовить имя таблицы к каждому столбцу в наборе результатов в SQL? (Postgres специально) Производительность Inner Join vs Cartesian product Фильтрация в левом соединении в SQLalchemy SQL Server INNER JOIN несколько внутренних объединений с несколькими отношениями Создание триггера, который удаляет строку, когда атрибут становится отрицательным ? Изменение значения в SQLite3 Совместная альтернатива в Access SQL Как обновить только одно поле с помощью Entity Framework? DB AdventureWorks2012 – как был сохранен пароль и как проверен пароль? Как отметить некоторые nr строк в таблице при одновременном доступе Дата SQLITE не проверена типом Версия Hibernate 5.2 -> Многие методы запроса не одобряют? Создание значения столбца идентификатора запуска триггера перед вставкой при создании новых таблиц

ms-access: как сделать правильный запрос?

Я распространяю MS-доступ-2007 передних концов. back end – это sql-сервер. пользователь нажмет на кнопку, и он вернет запрос из базы данных SQL Server 2008.

можно ли запросить этот запрос, если пользователь снова нажмет кнопку?

обычно поведение доступа заключается в том, что если вы запрашиваете его снова, он отображает старые результаты. как я могу обновить результаты?

Если вы знаете, что запрос по-прежнему является ActiveDatasheet, запрос:

Screen.ActiveDatasheet.Requery 

Если вы этого не знаете (вы можете проверить Screen.ActiveDatasheet.Name), вы можете снова открыть его (что может или не может потребоваться, если запрос уже открыт – я бы этого не ожидал, но я мог ошибаться ), и тогда это будет ActiveDatasheet, и вы можете это потребовать.

Или вы могли бы сделать:

  DoCmd.SelectObject acQuery, "NameOfYourQuery" Screen.ActiveDatasheet.Requery 

Разумеется, один или несколько из этих методов будут работать.

Но позвольте мне отметить, что не рекомендуется использовать таблицы и запросы в качестве объектов пользовательского интерфейса. Вместо этого вы должны создавать формы, позволяющие пользователям взаимодействовать с отображаемыми в них данными, поскольку это дает вам гораздо больше контроля над ними.

(одна вещь, которую многие люди не знают, – это то, что спецификация – это объект формы, поэтому свойства и методы Screen.ActiveDatasheet такие же, как и для любой формы, что означает, что вы можете фактически присваивать значения событиям на экране. ActiveDatasheet объект и их огонь, но я бы не рекомендовал это как самый простой путь к созданию пользовательского интерфейса …)

Если данные находятся в форме, связанной с таблицей Access или запросом, связанным с Sql Server, form.requery будет делать трюк.

если вы запросите его снова, он отобразит старые результаты

Я не согласен с вашим заявлением выше. Если вы снова открываете форму или запрос, вы всегда получаете последние значения. Обновите, обновите THOSE RECORDS до последнего значения, но проигнорируете новые записи. Реагент полностью заполняет форму / набор записей.