Jak utworzyć zapytanie dynamiczne z wartościami z formularza wyszukiwania w programie Access
Zaawansowane: wymaga specjalistycznego kodowania, współdziałania i wielodostępnych umiejętności.
Ten artykuł dotyczy pliku bazy danych programu Microsoft Access (.mdb), pliku bazy danych programu Microsoft Access (.accdb) lub pliku projektu programu Microsoft Access (.adp).
Podsumowanie
W tym artykule pokazano, jak dynamicznie tworzyć kryteria dla ciągu zapytania z wartościami z formularza wyszukiwania w programie Microsoft Access.
Więcej informacji
Czasami można 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. W poniższych krokach pokazano, jak dynamicznie utworzyć 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śnieniu funkcjonalności określonej procedury, ale nie zmodyfikują tych przykładów w celu zapewnienia dodatkowych funkcji lub procedur konstruowania w celu spełnienia określonych wymagań. UWAGA: Jeśli wykonaj kroki opisane w tym przykładzie, zmodyfikujesz przykładową bazę danych Northwind.mdb. Możesz utworzyć kopię zapasową pliku Northwind.mdb i wykonać te kroki na kopii bazy danych.
Przykład krok po kroku
- Uruchom dostęp.
- W menu Pomoc wskaż pozycję Przykładowe bazy danych, a następnie kliknij pozycję Przykładowa baza danych Northwind.
- Otwórz formularz Klienci w widoku projektowym.
- Dodaj przycisk polecenia i pole tekstowe do formularza, 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"
- Ustaw właściwość OnClick 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
Zapisz formularz, a następnie otwórz go w widoku Formularz.
Pamiętaj, że po kliknięciu przycisku polecenia Wyszukaj pole tekstowe txtSQL odzwierciedla zapytanie utworzone na podstawie wartości w formularzu Klienci. Ponadto formularz Klienci został przepytany tak, aby odzwierciedlał wyniki nowego ciągu SQL.
Informacje
Aby uzyskać więcej informacji na temat metody BuildCriteria, w Redaktor Visual Basic kliknij pozycję Microsoft Visual Basic Help w menu Pomoc, wpisz metodę buildcriteria w Asystentze pakietu Office lub Kreatorze odpowiedzi, a następnie kliknij pozycję Wyszukaj, aby wyświetlić temat.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla