MS Access Filter и сделать несколько флажков true / false на основе кнопок - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть простая база данных инвентаризации с опцией простого поиска текста, которая фильтрует ее по этим конкретным предметам. Я хотел бы «оформить / включить» несколько элементов на основе того, что в данный момент отфильтровано.

Так что, если я искал «float», в разделенной форме он будет показывать только всю информацию для всего, что имеет «float» в своем описании. Оттуда я хотел бы иметь кнопку («Извлечь»), которая будет проверять все результаты этого фильтра текстового поля true, а не нажимать вниз по каждому элементу. Я приложил фотографию того, как выглядит моя форма. Пример доступа к фотографии

Ответы [ 2 ]

0 голосов
/ 02 мая 2018

JShort заставил меня ответить. Вот как я это сделал, если есть еще один новичок.

Как и предполагалось, я создал два запроса на обновление (qry_CheckIn / qry_CheckOut).
В поле «Упаковано» (флажок) я установил Обновление до: 0 (снять флажок) / -1 (добавить флажок).

В поле "Предмет" я поставил:

    Like "*" & [Forms]![frm_inventory]![txtFilter] & "*"

Что выглядит в моих формах в окне поиска моего текстового фильтра (см. Раздел «Изображение в вопросе»).

Следующая часть: (Если у вас более новая версия доступа, включите «Показать все действия») Я добавил макрокоманды «по щелчку» для каждой из моих кнопок в следующем порядке:

  1. SetWarnings

    Предупреждения включены - нет

  2. OpenQuery

    Имя запроса - qry_CheckIn (или Out)

  3. RunMenuCommand

    Команда - Обновить

  4. SetWarnings

    Предупреждение включено - Да

Спасибо за помощь JShort.

0 голосов
/ 01 мая 2018

Добавьте некоторый код к тем кнопкам, которые выполняют SQL, чтобы обновить статус записи за вашим флажком. Вот пример с оператором print, чтобы показать, какой будет строка запроса перед ее выполнением:

Private Sub CheckInButton_Click()

DoCmd.SetWarnings False

sqlString = "UPDATE tbl_inventory SET tbl_inventory.Packed = False WHERE tbl_inventory.Item like '" & Me.txtFilter & "'" 

debug.print sqlString

DoCmd.RunSQL sqlString 

DoCmd.SetWarnings True

Me.SubForm.Requery

End Sub
...