#ms-access
#ms-access
Вопрос:
У меня 12 столбцов в моей форме Access 2010, теперь я хочу удалить все фильтры по столбцам, чтобы пользователь не мог фильтровать записи. Я хочу, чтобы пользователь фильтровал только из поля со списком, как я могу это сделать?
Ответ №1:
Мне кажется, что в вашем вопросе есть две части:
- Отмените или игнорируйте все существующие фильтры
- Запретить пользователю любую фильтрацию
Во-первых, вы можете использовать это, чтобы игнорировать любые существующие фильтры.
Me.FilterOn = False
Во-вторых, вы можете установить для свойства Allow Filters формы значение No.
Затем вы можете выполнить фильтрацию, используя событие after update комбо, чтобы пересмотреть источник записи формы.
Dim strSql As String
strSql = "SELECT field1, field2, field3 FROM YourTable WHERE some_field = " amp; _
Me.YourComboName
Me.RecordSource = strSql
Повторное назначение RecordSource автоматически вызовет запрос.
Это сработало бы, если привязанное значение YourComboName является числовым. Если это текстовые данные, вам придется заключить их значения в кавычки при сборке strSQL.
strSql = "SELECT field1, field2, field3 FROM YourTable WHERE some_field = """ amp; _
Me.YourComboName amp; """"