В базе данных SQL у меня есть таблица, Table1
. Эта таблица относится к другой таблице, Table2
, которая в свою очередь относится к Table3
. Появляется запрос Query1
, который выбирает определенные записи из Table1
.Фильтрация формы с подформами в Access
Эта база данных связана в проекте базы данных доступа
А образуют Table1Data
основан на Table1
, с таблицы, содержащей данные, связанные с Table2
(и впоследствии Table3
данные). Эта форма открывается другой формой (Switchboard
). Проблема возникает, когда форма открывается. Я хочу, чтобы форма была отфильтрована, но когда я настраиваю макрос и открываю форму и устанавливаю фильтр на Query1
, данные в форме не фильтруются. Почему это происходит, разве это не способ сделать это? Query1
выбирает все столбцы от Table1
, поэтому несоответствующие столбцы не должны быть проблемой.
Кроме того, я хочу заблокировать его - только некоторые люди могут выполнить Query1
, то же самое с другими запросами (Query2
, Query3
и т. Д.). Поэтому они могут редактировать только те данные, которые им разрешено редактировать.
У вас есть пример макроса OpenForm action, который приводит к этому запуску, и переменные устанавливают базу на нем? – SamWM
Как можно скорее отойдите от макросов. Они не обладают универсальностью и не имеют исправления ошибок. Макросы для новичков. После того, как вы используете Access в течение нескольких недель, вы не должны создавать никаких, кроме двух функций, для которых они требуются (AutoExec и AutoKeys). –
Действие OpenForm будет срабатывать при открытии формы Table1Data, которую вы описываете в своем вопросе. Код выполнит установку источника записей в вашу строку SQL, а затем .Requery приведет к тому, что форма будет создана на основе нового RecordSource. Кроме того, я согласен с Дэвидом Фентоном в том, что вы не должны использовать макросы, за исключением того, что я даже не буду использовать их в AutoExec и AutoKeys, потому что я просто нашел другие способы решения этих проблем. –