Несколько Где и Или MS Access Запрос - PullRequest
0 голосов
/ 25 апреля 2020

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

Это то, что у меня есть, но, очевидно, что-то немного не так и получается синтаксическая ошибка.

Private Sub SearchButton_Click()

Dim SQL As String

    SQL = "SELECT tblPartsAndConsumables.[DESCRIPTION], tblPartsAndConsumables.[P/N], tblPartsAndConsumables.[S/N], tblPartsAndConsumables.[B/N], tblPartsAndConsumables.QTY, tblPartsAndConsumables.[EXPIRY DATE], tblPartsAndConsumables.LOCATION, tblPartsAndConsumables.Attachments " _
    & " FROM tblPartsAndConsumables " _
    & "WHERE [Customer Name] LIKE  '*" & Me.CustomerListbox.Value & "*' " _
    & "WHERE [DESCRIPTION] LIKE  '*" & Me.Searchbox & "*' " _
    & "OR [P/N] LIKE  '*" & Me.Searchbox & "*' " _
    & "OR [S/N] LIKE  '*" & Me.Searchbox & "*' " _
    & "OR [B/N] LIKE  '*" & Me.Searchbox & "*'" _
    & " ORDER BY tblPartsAndConsumables.[DESCRIPTION], tblPartsAndConsumables.[P/N]; "

    Me.SubFormSearch.Form.RecordSource = SQL
    Me.SubFormSearch.Form.Requery

End Sub

1 Ответ

2 голосов
/ 25 апреля 2020

У вас есть два где ... но вы должны использовать только одно использование ИЛИ

    SQL = "SELECT tblPartsAndConsumables.[DESCRIPTION], tblPartsAndConsumables.[P/N], tblPartsAndConsumables.[S/N], tblPartsAndConsumables.[B/N], tblPartsAndConsumables.QTY, tblPartsAndConsumables.[EXPIRY DATE], tblPartsAndConsumables.LOCATION, tblPartsAndConsumables.Attachments " _
    & " FROM tblPartsAndConsumables " _
    & "WHERE [Customer Name] LIKE  '*" & Me.CustomerListbox.Value & "*' " _
    & " OR  [DESCRIPTION] LIKE  '*" & Me.Searchbox & "*' " _
    & "OR [P/N] LIKE  '*" & Me.Searchbox & "*' " _
    & "OR [S/N] LIKE  '*" & Me.Searchbox & "*' " _
    & "OR [B/N] LIKE  '*" & Me.Searchbox & "*'" _
    & " ORDER BY tblPartsAndConsumables.[DESCRIPTION], tblPartsAndConsumables.[P/N]; "

Если предложение "здесь" должно работать вместе, вам нужно И, например: "

    SQL = "SELECT tblPartsAndConsumables.[DESCRIPTION], tblPartsAndConsumables.[P/N], tblPartsAndConsumables.[S/N], tblPartsAndConsumables.[B/N], tblPartsAndConsumables.QTY, tblPartsAndConsumables.[EXPIRY DATE], tblPartsAndConsumables.LOCATION, tblPartsAndConsumables.Attachments " _
    & " FROM tblPartsAndConsumables " _
    & "WHERE [Customer Name] LIKE  '*" & Me.CustomerListbox.Value & "*' " _
    & " AND   [DESCRIPTION] LIKE  '*" & Me.Searchbox & "*' " _
    & " ADN ( [P/N] LIKE  '*" & Me.Searchbox & "*' " _
    & "OR [S/N] LIKE  '*" & Me.Searchbox & "*' " _
    & "OR [B/N] LIKE  '*" & Me.Searchbox  & "*' )" _
    & " ORDER BY tblPartsAndConsumables.[DESCRIPTION], tblPartsAndConsumables.[P/N]; "

ИЛИ

    SQL = "SELECT tblPartsAndConsumables.[DESCRIPTION], tblPartsAndConsumables.[P/N], tblPartsAndConsumables.[S/N], tblPartsAndConsumables.[B/N], tblPartsAndConsumables.QTY, tblPartsAndConsumables.[EXPIRY DATE], tblPartsAndConsumables.LOCATION, tblPartsAndConsumables.Attachments " _
    & " FROM tblPartsAndConsumables " _
    & "WHERE [Customer Name] LIKE  '*" & Me.CustomerListbox.Value & "*' " _
    & " AND (  [DESCRIPTION] LIKE  '*" & Me.Searchbox & "*' " _
    & " OR   [P/N] LIKE  '*" & Me.Searchbox & "*' " _
    & "OR [S/N] LIKE  '*" & Me.Searchbox & "*' " _
    & "OR [B/N] LIKE  '*" & Me.Searchbox  & "*' )" _
    & " ORDER BY tblPartsAndConsumables.[DESCRIPTION], tblPartsAndConsumables.[P/N]; "
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...