Проблема с доступом: как объединить фильтр удаления для столбцов навсегда

#ms-access

#ms-access

Вопрос:

У меня 12 столбцов в моей форме Access 2010, теперь я хочу удалить все фильтры по столбцам, чтобы пользователь не мог фильтровать записи. Я хочу, чтобы пользователь фильтровал только из поля со списком, как я могу это сделать?

Ответ №1:

Мне кажется, что в вашем вопросе есть две части:

  1. Отмените или игнорируйте все существующие фильтры
  2. Запретить пользователю любую фильтрацию

Во-первых, вы можете использовать это, чтобы игнорировать любые существующие фильтры.

 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; """"