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.