В мс формы доступа, как можно искать на основе значений двух текстовых полей? - PullRequest
0 голосов
/ 18 октября 2018

У меня есть база данных MS Access с формой интерфейса для пользователей, которые могут искать определенные записи и соответствующим образом обновлять их.

Моя форма интерфейса содержит два текстовых поля для поиска, сначала получает номер контрольного списка, а 2-йполучает номер строки в этом контрольном списке.

У меня есть одна кнопка, и с помощью «Build Event» я применил логику следующим образом:

Where condition = [Checklist_Number] Like "*" & [Forms]![Verification Form]![txt_chk_no] & "*" AND [Row_Number] Like "*" & [Forms]![Verification Form]![txt_row] & "*"  

В некоторых случаях он работает нормально, но не во всех случаях.Например, когда я набираю 1 и 1, мне требуется контрольный список № 1 и строка № 1. Это нормально.

Но когда я печатаю 1 и 2, мне требуется контрольный список № 12 и строка № 22.

И я думаю, потому что 12 и 22 содержат 1 и 2,

Теперь, когда я знаю, что с логикой что-то не так, назовите мне какую-нибудь логику, где я могу получить точные значениявместо похожих.

Заранее спасибо.

Отредактировано Показывать подстановочные знаки.

1 Ответ

0 голосов
/ 18 октября 2018

Если ваши искомые поля действительно являются числами, избавьтесь от оператора Like и используйте =.Тогда вы получите только полные совпадения.

Однако я удивлен, что в вашем примере кода без использования подстановочного знака

Like '*" & YourFormRef
ваш код возвращает несколько значений...?

Редактировать: Попробуйте: это предполагает, что оба ваших поля являются числами, а не текстом.

Where condition = [Checklist_Number] = " & [Forms]![Verification Form]![txt_chk_no] & " AND 
[Row_Number] = " & [Forms]![Verification Form]![txt_row] 
...