See õpetus sisaldab näiteid SQL -i kasutamisest VBA Accessiga. Nagu näete allpool, saate SQL -päringute käivitamiseks Accessis koos VBA -ga kasutada kas DoCmd.RunSQL või CurrentDb. Täida meetodeid.
SQL Vali
See näide kasutab kirje kogumi avamiseks SQL Select lauset:
Dim rs Recordset Set rs = CurrentDb.OpenRecordset ("valige * tabelist 1, kus number = 0", dbOpenDynaset)
SQL värskendustabel
See VBA koodirida kasutab tabeli värskendamiseks meetodit DoCmd.RunSQL:
DoCmd.RunSQL ("UPDATE table1 SET num = 0 kus number = 999")
Või võite kasutada andmebaasi objekti meetodit .Execute:
CurrentDb.Exuteute "UPDATE table1 SET num = 0 kus number = 999"
SQL muudetabel
See VBA koodirida kasutab tabeli muutmiseks DoCmd.RunSQL -i:
DoCmd.RunSQL ("ALTER TABEL Table3 ADD COLUMN Palgaraha")
Või andmebaasi objekti meetodiga .Execute:
CurrentDb.Execute "ALTER TABEL Table3 ADD COLUMN Palgaraha"
Tabeli mahajätmine
See VBA koodirida kasutab tabeli muutmiseks DoCmd.RunSQL -i:
DoCmd.RunSQL ("DROP tabeli tabel1")
Või andmebaasi objekti meetodiga .Execute:
CurrentDb.Exuteute "DROP Tabel Table1"
SQL Kustuta
See kood kasutab tabelist kirjete kustutamiseks DoCmd.RunSQL -i.
DoCmd.RunSQL ("DELETE FROM tabel1 kus number = 999")
Või andmebaasi objekti meetodiga .Execute:
CurrentDb.Exuteute "DELETE FROM tabel1 kus number = 999"
SQL sisestamine
See DoCmd.RunSQL eksemplar lisab tabelisse kirjed:
DoCmd.RunSQL ("INSERT INTO Table1 (Perekonnanimi, sünninumber, number) VALUES ('L1',#01/01/2001#, 78)")
Või andmebaasi objekti meetodiga .Execute:
CurrentDb.Execute "INSERT INTO Table1 (Perekonnanimi, sünninumber, number) VALUES ('L1',#01/01/2001#, 78)"
SQL Loo tabel
See kood loob SQL -i abil tabeli:
CurrentDb.Execute "CREATE TABLE Table1 (KeyID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, Field1 TEXT, Field2 TEXT)"
Või andmebaasi objekti meetodiga .Execute:
CurrentDb.Execute "CREATE TABLE Table1 (KeyID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, Field1 TEXT, Field2 TEXT)"
Loo indeks
See VBA koodirida kasutab tabeli muutmiseks DoCmd.RunSQL -i:
DoCmd.RunSQL ("CREATE INDEX" & IndexName & "ON" & TableName & "(" & ColumnName & ");")
Või andmebaasi objekti meetodiga .Execute:
CurrentDb.Exuteute "CREATE INDEX" & IndexName & "ON" & TableName & "(" & ColumnName & ");"
Kukkumisindeks
See VBA koodirida kasutab tabeli muutmiseks DoCmd.RunSQL:
DoCmd.RunSQL "DROP INDEX ID ON Table1;"
Või andmebaasi objekti meetodiga .Execute:
CurrentDb.Ecuteute "DROP INDEX ID ON Table1;"
Loo andmebaas
See kood loob andmebaasi (ilma SQL -i):
Access.DBEngine.CreateDatabase "c: \ Temp \ testDB1.accdb", DB_LANG_GENERAL
SQL päringud
Ava päring
Salvestatud päringu avamiseks saate kasutada rakendust DoCmd.OpenQuery.
DoCmd.OpenQuery "qry_1", acViewNormal, acEdit
Käivita päring
CurrentDB.Execute täidab päringu:
CurrentDb.Eceute "qry_1", dbFailOnError
Ekspordi päring Excelisse
DoCmd.OutputTo ekspordib päringu Excelisse:
DoCmd.OutputTo acOutputQuery, "Query1", acFormatXLS, "c: \ temp \ ExportedQuery.xls"