Sådan får du adgang en VBA Incremental Record Søg

December 18

Sådan får du adgang en VBA Incremental Record Søg

Vide, hvordan man søge gennem poster fra en database tabel ved hjælp af en forespørgsel i Microsoft Office Access kan spare dig tid når du søger efter en bestemt tekst i en kolonne. Visual Basic for Applications, også kendt som VBA er et programmeringssprog, der anvendes til at automatisere rutineopgaver i Microsoft Access og andre MS Office-programmer. Access er en relationel database management system bruges til at designe små databaser. En forespørgsel bruges til at hente information fra en database tabel.

Instruktioner


• Åbn Northwind Microsoft Office Access-database. Northwind-databasen er inkluderet i Microsoft Office-pakken.

• 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".

• Skriv følgende for at oprette en ny subrutine: ". Enter" Private Sub søgning Records () Tryk på

• Skriv følgende for at skabe den "første" variable; du vil bruge det til at åbne en ny Recordset: Dim rst Som Recordset Skriv følgende for at skabe den "DBS" variable; du vil bruge det til at identificere den aktuelle database: Dim dbs As 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: Dim stringToSearch As String Skriv følgende for at indstille den aktuelle database databasen til at bruge i denne subrutine: Indstil DBS = CurrentDb

5. Skriv følgende for at definere den streng, du vil bruge til at søge efter records, der returneres af forespørgslen, at anvende betegnelsen "Daniel" som et eksempel: stringToSearch = "Daniel"

6. Skriv følgende for at åbne en ny Recordset og forespørge "Kunderne" tabel: (". SELECT Kunder * FROM Kunder"), som rst = dbs.OpenRecordset Rediger følgende linje kode til at forespørge en anden tabel: Indstil rst = dbs.OpenRecordset (". Vælg <tabelnavn> * FROM <tabelnavn>") Skriv følgende for at flytte til den første post i forespørgslen resultater: rst.MoveFirst

• Skriv følgende at sløjfe gennem Recordset ved at forøge det Recordset position og søg efter "Daniel" i "First Name" kolonnen: Gør Mens ikke rst.EOF Hvis rst.Fields ("First Name") Value = stringToSearch Så MsgBox. "Found" & stringToSearch & "i rekordstort antal:" & rst.AbsolutePosition rst.MoveLast Else rst.MoveNext End If Loop vil søge efter andre sæt af tegn i en anden kolonne, redigere følgende linjer kode: stringToSearch = "<dit tekst for at søge> "Hvis rst.Fields (" <dit kolonnenavn> "). Value = stringToSearch Derefter

• Skriv følgende for at frigive variable fra hukommelsen: rst.Close dbs.Close Tryk på "F5" for at køre din subrutine.