Dynaamisen kyselyn luominen arvoilla hakulomakkeesta Accessissa

Huomautus

Office 365 ProPlus nimetään uudelleen Microsoft 365 Apps for enterprise -sovellukseksi. Lisätietoja tästä muutoksesta on tässä blogikirjoituksessa.

Lisäasetukset: Edellyttää asiantuntijakoodausta, yhteentoimivuutta ja yhteiskäyttötaitoja.

Tämä artikkeli koskee joko Microsoft Access -tietokantatiedostoa (.mdb) tai Microsoft Access -tietokantatiedostoa (.accdb) ja Microsoft Access -projektitiedostoa (.adp).

Yhteenveto

Tässä artikkelissa kerrotaan, miten voit luoda dynaamisesti ehtoja kyselymerkkijonolle, joka sisältää hakulomakkeen arvot Microsoft Accessissa.

Lisätietoja

Joskus voi olla tarpeen luoda lomake, joka toimii hakulomakkeena. Haluat, että voit lisätä arvoja lomakkeeseen ja luoda dynaamisesti sopivan SQL-merkkijonon. Seuraavien vaiheiden avulla voit luoda dynaamisesti kyselymerkkijonon, joka käyttää BuildCriteria-menetelmää.

Microsoft esittää ohjelmointiesimerkkejä vain asian havainnollistamiseksi, ilman suoraa tai epäsuoraa vastuuta niiden toimivuudesta. Tämä sisältää muunmuassa epäsuorat vastuut soveltuvuudesta kaupankäyntiin tai soveltuvuuteen yksilöityyn käyttöön. Tässä artikkelissa oletetaan, että olet perehtynyt käytettyyn ohjelmointikieleen, sekä proseduurien luonti- ja virheenkorjaustyökaluihin. Microsoftin tukihenkilöt voivat auttaa selittämään tietyn toimintosarjaan liittyvät toiminnot, mutta he eivät muokkaa näitä esimerkkejä, jotta ne tarjoavat lisätoimintoja tai -menettelytapoja, jotka vastaavat tarpeitasi. VAROITUS: Jos noudatat tässä esimerkissä annettuja ohjeita, muokkaat Northwind.mdb-esimerkkitietokantaa. Voit varmuuskopioida Northwind.mdb-tiedoston ja noudattaa tietokannan kopion ohjeita.

Vaiheittaiset ohjeet

  1. Käynnistä Access.
  2. Valitse Ohje-valikossa Mallitietokannat ja valitse sitten Northwind-mallitietokanta.
  3. Avaa Asiakkaat-lomake rakennenäkymässä.
  4. Lisää lomakkeeseen komentopainike ja tekstiruutu ja määritä sitten seuraavat ominaisuudet:
 Command Button
 ------------------------
 Name: cmdSearch
 Caption: Search
 OnClick: Event Procedure

Text Box
 --------------
 Name: txtSQL
 Width: 4.4583"
 Height: 1.25"
  1. Määritä komentopainikkeen Sipaise-ominaisuudeksi seuraava tapahtumatoimintosarja:
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. Tallenna lomake ja avaa se sitten lomakenäkymässä.

    Huomaa, että kun napsautat Hae-komentopainiketta, txtSQL-tekstiruutu vastaa Asiakkaat-lomakkeen arvoista luotua kyselyä. Asiakkaat-lomake on myös tehty uudelleen, jotta se vastaa uuden SQL-merkkijonon tuloksia.

Lisätietoja

Jos haluat lisätietoja BuildCriteria-menetelmästä, valitse Visual Basic Editorissa Microsoft Visual Basic -ohje Ohje-valikosta, kirjoita buildcriteria-menetelmä Office-avustajaan tai ohjattuun vastaustoimintoon ja tarkastele aihetta valitsemalla Hae.