Vide, hvordan man søge gennem poster fra en database tabel ved hjælp af en forespørgsel i Microsoft Office Access kan du spare tid , når du søger efter en bestemt tekst i en kolonne. Visual Basic for Applications , også kendt som VBA er et programmeringssprog bruges til at automatisere rutineopgaver i Microsoft Access og andre MS Office-programmer. Access er en relationel database management system, der anvendes til at designe små databaser. En forespørgsel bruges til at hente information fra en database tabel . Instruktioner
1
Åbn Northwind Microsoft Office Access -database. Databasen Northwind er inkluderet i Microsoft Office-pakken.
2
Klik på " Database Tools " og derefter vælge "Visual Basic " for at åbne Microsoft Visual Basic vindue. Klik på "Indsæt "-feltet og vælg " Modul ".
3
Skriv følgende for at oprette en ny subrutine :
Private Sub searchRecords ( )
< p > Tryk på " Enter".
4
Skriv følgende for at skabe den " rst " variable , og du vil bruge den til at åbne en ny Recordset : Hej
Dim rst Som Recordset
Skriv følgende for at skabe den " DBS " variable , du vil bruge det til at identificere den aktuelle database : Hej
Dim dbs som database
Skriv følgende for at skabe den " stringToSearch " variable , du vil bruge det til at holde tegn, du vil lede efter i posten søgning : Hej
Dim stringToSearch As String
Skriv følgende for at indstille den aktuelle database som database til at bruge i denne subrutine : Hej
Set dbs = CurrentDb
5
Skriv følgende for at definere den streng, du vil bruge til at søge efter poster, der returneres af forespørgslen , ved hjælp af navnet " Daniel " som et eksempel :
stringToSearch = " Daniel"
6
Skriv følgende for at åbne en ny Recordset og forespørgsel på " kunder" table : Hej
Set rst = dbs.OpenRecordset ( " SELECT Kunder * FROM Kunder ").
Rediger følgende linje kode til at forespørge en anden tabel : Hej
Set rst = dbs.OpenRecordset ( "SELECT * FROM < . , tabelnavn > " )
Skriv følgende for at flytte til den første post i forespørgslen resultater : Hej
rst.MoveFirst
7
Skriv følgende at sløjfe gennem Recordset ved at forøge det Recordset position og søg efter " Daniel " i " First Name " kolonnen : Hej
Do While Not rst.EOF
p Hvis rst.Fields ( "Fornavn " ) . Value = stringToSearch Så
MsgBox "Found " & stringToSearch & " i rekordstort antal : " & rst.AbsolutePosition
rst.MoveLast
Else
rst.MoveNext
End If
Loop
For at søge efter andre sæt af tegn i en anden kolonne , redigere følgende linjer kode :
stringToSearch = " "
p Hvis rst.Fields ( " "). Value = stringToSearch Så
8 Skriv følgende for at frigive variable fra hukommelsen :
rst.Close
dbs.Close
Tryk på " F5 " for at køre din subrutine