Denne vejledning indeholder eksempler på brug af SQL med VBA Access. Som du vil se nedenfor, kan du bruge enten den til at køre SQL -forespørgsler i Access med VBA DoCmd.RunSQL eller CurrentDb.Execute metoder.
Vælg SQL
Dette eksempel vil bruge SQL Select -sætningen til at åbne et rekordsæt:
Dim rs som Recordset Set rs = CurrentDb.OpenRecordset ("vælg * fra tabel1 hvor num = 0", dbOpenDynaset)
SQL -opdateringstabel
Denne linje med VBA -kode bruger DoCmd.RunSQL -metoden til at opdatere en tabel:
DoCmd.RunSQL ("UPDATE table1 SET num = 0 hvor num = 999")
Eller du kan bruge .Execute -metoden for databaseobjektet:
CurrentDb.Execute "UPDATE table1 SET num = 0 hvor num = 999"
SQL Alter Table
Denne linje med VBA -kode bruger DoCmd.RunSQL til at ændre en tabel:
DoCmd.RunSQL ("ALTER TABLE Table3 ADD COLUMN Lønningspenge")
Eller med .Execute -metoden for databaseobjektet:
CurrentDb.Execute "ALTER TABLE Table3 ADD COLUMN Lønningspenge"
Tab bord
Denne linje med VBA -kode bruger DoCmd.RunSQL til at ændre en tabel:
DoCmd.RunSQL ("DROP Table Table1")
Eller med .Execute -metoden for databaseobjektet:
CurrentDb.Execute "DROP Table Table1"
Slet SQL
Denne kode bruger DoCmd.RunSQL til at slette poster fra en tabel:
DoCmd.RunSQL ("SLET FRA tabel1 hvor num = 999")
Eller med .Execute -metoden for databaseobjektet:
CurrentDb.Execute "DELETE FROM table1 where num = 999"
SQL Indsæt i
Denne forekomst af DoCmd.RunSQL indsætter poster i en tabel:
DoCmd.RunSQL ("INSERT INTO Table1 (LastName, dob, num) VALUES ('L1',#01/01/2001#, 78)")
Eller med .Execute -metoden for databaseobjektet:
CurrentDb.Execute "INSERT INTO Table1 (LastName, dob, num) VALUES ('L1',#01/01/2001#, 78)"
SQL Opret tabel
Denne kode opretter en tabel ved hjælp af SQL:
CurrentDb.Execute "CREATE TABLE Table1 (KeyID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, Field1 TEXT, Field2 TEXT)"
Eller med .Execute -metoden for databaseobjektet:
CurrentDb.Execute "CREATE TABLE Table1 (KeyID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, Field1 TEXT, Field2 TEXT)"
Opret indeks
Denne linje med VBA -kode bruger DoCmd.RunSQL til at ændre en tabel:
DoCmd.RunSQL ("CREATE INDEX" & IndexName & "ON" & TableName & "(" & ColumnName & ");")
Eller med .Execute -metoden for databaseobjektet:
CurrentDb.Execute "CREATE INDEX" & IndexName & "ON" & TableName & "(" & ColumnName & ");"
Drop Index
Denne linje med VBA -kode bruger DoCmd.RunSQL til at ændre en tabel:
DoCmd.RunSQL "DROP INDEX ID ON Table1;"
Eller med .Execute -metoden for databaseobjektet:
CurrentDb.Execute "DROP INDEX ID ON Table1;"
Opret database
Denne kode vil oprette en database (ingen SQL):
Access.DBEngine.CreateDatabase "c: \ Temp \ testDB1.accdb", DB_LANG_GENERAL
SQL forespørgsler
Åbn forespørgsel
Du kan bruge DoCmd.OpenQuery til at åbne en gemt forespørgsel:
DoCmd.OpenQuery "qry_1", acViewNormal, acEdit
Udfør forespørgsel
CurrentDB.Execute vil udføre en forespørgsel:
CurrentDb.Execute "qry_1", dbFailOnError
Eksportér forespørgsel til Excel
DoCmd.OutputTo vil eksportere en forespørgsel til Excel:
DoCmd.OutputTo acOutputQuery, "Query1", acFormatXLS, "c: \ temp \ ExportedQuery.xls"