Форма поиска критериев - PullRequest
0 голосов
/ 22 июня 2011

Итак, мне удалось подготовить мои критерии и перейти в режим доступа, и он ищет имя / город, но ищет только ТОЧНОЕ название города, хотя я дал ему подстановочный знак, а поле имени работает как поиск какой-либо части поля? Кто-нибудь знает почему? вот мой код:

 'Text field example. Use quotes around the value in the string.
    If Not IsNull(Me.txtFilterCity) Then
        strWhere = strWhere & "([City] Like ""*" & Me.txtFilterCity & "*"") AND "
    End If

    'Another text field example. Use Like to find anywhere in the field.
    If Not IsNull(Me.txtFilterMainName) Then
        strWhere = strWhere & "([MainName] Like ""*" & Me.txtFilterMainName & "*"") AND "
    End If

Спасибо! * * 1004

Ответы [ 2 ]

3 голосов
/ 22 июня 2011

Вот другой подход к построению strWhere.

' Text field example. Use quotes around the value in the string. '
If Not IsNull(Me.txtFilterCity) Then
    strWhere = strWhere & " AND City Like ""*" & Me.txtFilterCity & "*"""
End If
' Another text field example. Use Like to find anywhere in the field. '
If Not IsNull(Me.txtFilterMainName) Then
    strWhere = strWhere & " AND MainName Like ""*" & Me.txtFilterMainName & "*"""
End If
' chop off leading AND '
strWhere = Mid(strWhere, 6)
Debug.Print strWhere

Я отбросил скобки и квадратные скобки, потому что они здесь не нужны.Квадратные скобки, окружающие имя поля, необходимы, если имя поля содержит пробелы, знаки пунктуации и т. Д. Квадратные скобки также полезны, если имя поля является зарезервированным словом.Я предпочитаю использовать только символы, которые не требуют скобок в именах объектов, и избегайте зарезервированных слов в качестве имен объектов.

0 голосов
/ 22 июня 2011

если вы используете доступ, то

* позволяет вам сопоставить любую строку любой длины (включая нулевую)

?позволяет сопоставить по одному символу

# позволяет сопоставить по одной числовой цифре

например:

Как 'b *' вернет все значения, которые начинаются сb

Как '* b *' вернет все значения, которые содержат b

Как '* b' вернет все значения, которые заканчиваются на b

Как 'b?'будет возвращать все значения, которые начинаются с b и имеют длину 2 символа

Как и 'b #', возвращает все значения, начинающиеся с b, и имеет длину 2 символа, где второй символ представляет собой число

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...