Jak utworzyć dynamiczne zapytanie z wartościami z formularza wyszukiwania w programie Access

Uwaga

Nazwa usługi Office 365 ProPlus została zmieniona na Aplikacje usługi Microsoft 365 dla przedsiębiorstw. Aby uzyskać więcej informacji na temat tej zmiany, przeczytaj ten wpis w blogu.

Zaawansowane. Wymaga kodowania eksperta, współdziałania i umiejętności wielu użytkowników.

Ten artykuł dotyczy pliku bazy danych programu Microsoft Access (mdb) lub pliku bazy danych programu Microsoft Access (accdb) oraz pliku projektu programu Microsoft Access (adp).

Podsumowanie

W tym artykule pokazano, jak dynamicznie tworzyć kryteria dla ciągu zapytania przy użyciu wartości z formularza wyszukiwania w programie Microsoft Access.

Więcej informacji

Czasami może być chcieć utworzyć formularz, który służy jako formularz wyszukiwania. Chcesz mieć możliwość wprowadzania wartości w formularzu i dynamicznego tworzenia odpowiedniego ciągu SQL. Poniższe kroki pokazują, jak dynamicznie tworzyć ciąg zapytania, który używa metody BuildCriteria.

Firma Microsoft podaje przykłady programowania tylko dla celów ilustracyjnych, nie udzielając żadnej rękojmi, wyrażonej wprost ani dorozumianej, w tym także, ale nie tylko, dorozumianej rękojmi co do przydatności handlowej lub do określonych celów. W tym artykule zakłada się, że czytelnik zna demonstrowany język programowania oraz narzędzia używane do tworzenia i debugowania procedur. Inżynierowie pomocy technicznej firmy Microsoft mogą pomóc w objaśnieniach funkcji określonej procedury, ale nie zmodyfikują tych przykładów, aby udostępnić dodatkowe funkcje lub skonstruować procedury w celu spełnienia określonych wymagań. PRZESTROGA: Jeśli wykonajesz czynności opisane w tym przykładzie, zmodyfikuj przykładową bazę danych Northwind.mdb. Możesz wykonać kopię zapasową pliku Northwind.mdb i wykonać te czynności na kopii bazy danych.

Przykład krok po kroku

  1. Uruchom program Access.
  2. W menu Pomoc wskaż polecenie Przykładowe bazy danych, a następnie kliknij polecenie Northwind Przykładowa baza danych.
  3. Otwórz formularz Klienci w widoku projektu.
  4. Dodaj do formularza przycisk polecenia i pole tekstowe, a następnie ustaw następujące właściwości:
 Command Button
 ------------------------
 Name: cmdSearch
 Caption: Search
 OnClick: Event Procedure

Text Box
 --------------
 Name: txtSQL
 Width: 4.4583"
 Height: 1.25"
  1. Ustaw właściwość OnClick (PrzyKliknij) przycisku polecenia na następującą procedurę zdarzenia:
Private Sub cmdSearch_Click()
    On Error Resume Next

Dim ctl As Control
    Dim sSQL As String
    Dim sWhereClause As String

'Initialize the Where Clause variable.
    sWhereClause = " Where "

'Start the first part of the select statement.
    sSQL = "select * from customers "

'Loop through each control on the form to get its value.
    For Each ctl In Me.Controls
        With ctl
            'The only Control you are using is the text box.
            'However, you can add as many types of controls as you want.
            Select Case .ControlType
                Case acTextBox
                    .SetFocus
                    'This is the function that actually builds
                    'the clause.
                    If sWhereClause = " Where " Then
                        sWhereClause = sWhereClause & BuildCriteria(.Name, dbtext, .Text)
                    Else
                        sWhereClause = sWhereClause & " and " & BuildCriteria(.Name, dbtext, .Text)
                    End If
            End Select
        End With
    Next ctl

'Set the forms recordsource equal to the new
    'select statement.
    Me.txtSQL = sSQL & sWhereClause
    Me.RecordSource = sSQL & sWhereClause
    Me.Requery

End Sub

  1. Zapisz formularz, a następnie otwórz go w widoku formularza.

    Zwróć uwagę, że kliknięcie przycisku polecenia Wyszukaj w polu tekstowym txtSQL odzwierciedla zapytanie utworzone na podstawie wartości z formularza Customers. Ponadto formularz Klienci został ponownie ponawiany z zapytaniem, tak aby odzwierciedlał wyniki nowego ciągu SQL.

Informacje

Aby uzyskać więcej informacji na temat metody BuildCriteria, w Edytorze Visual Basic kliknij polecenie Pomoc dla języka Microsoft Visual Basic w menu Pomoc, wpisz metodę kompilacji w Asystencie pakietu Office lub Kreatorze odpowiedzi, a następnie kliknij pozycję Wyszukaj, aby wyświetlić temat.