MS Access Filter и сделать несколько флажков true / false на основе кнопок
У меня есть простая база данных инвентаризации с простой опцией поиска текста, которая фильтрует ее по этим конкретным предметам. Я хотел бы "оформить / включить" несколько элементов на основе того, что в данный момент отфильтровано.
Поэтому, если я искал "float", в разделенной форме он будет показывать только всю информацию для всего, что имеет "float" в своем описании. Оттуда я хотел бы иметь кнопку ("Извлечь"), которая будет проверять все результаты этого фильтра текстового поля true, а не нажимать вниз по каждому элементу. Я приложил фото того, как выглядит моя форма. Пример доступа к фотографии
2 ответа
Добавьте некоторый код к тем кнопкам, которые выполняют 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
JShort поставил меня на ответ. Вот как я это сделал, если есть еще один новичок.
Как и предполагалось, я создал два запроса на обновление (qry_CheckIn / qry_CheckOut).
В поле "Упаковано" (флажок) я установил Обновление до: 0 (снять флажок) / -1 (добавить флажок).
В поле "Предмет" я поставил:
Like "*" & [Forms]![frm_inventory]![txtFilter] & "*"
Который выглядит в моих формах в моем окне поиска текстового фильтра (см. Изображение в разделе вопроса).
Следующая часть: (Если у вас более новая версия доступа, включите "Показать все действия") Я добавил макрокоманды "по щелчку" для каждой из моих кнопок в следующем порядке:
SetWarnings
Предупреждения включены - нет
OpenQuery
Имя запроса - qry_CheckIn (или Out)
RunMenuCommand
Команда - Обновить
SetWarnings
Предупреждение включено - Да
Спасибо за помощь JShort.