Dostop do primerov VBA SQL

Ta vadnica vsebuje primere uporabe SQL z dostopom VBA. Kot boste videli spodaj, lahko za izvajanje poizvedb SQL v Accessu z VBA uporabite bodisi DoCmd.RunSQL ali CurrentDb.Execute metode.

SQL Izberite

Ta primer bo uporabil stavek SQL Select za odpiranje nabora zapisov:

Zatemni rs kot nabor zapisov rs = CurrentDb.OpenRecordset ("izberite * iz tabele1, kjer je število = 0", dbOpenDynaset)

Tabela posodobitev SQL

Ta vrstica kode VBA uporablja metodo DoCmd.RunSQL za posodobitev tabele:

DoCmd.RunSQL ("UPDATE table1 SET num = 0 where num = 999")

Lahko pa uporabite metodo .Execute predmeta baze podatkov:

CurrentDb.Execute "UPDATE table1 SET num = 0 where num = 999"

Tabela spreminjanja SQL

Ta vrstica kode VBA uporablja DoCmd.RunSQL za spreminjanje tabele:

DoCmd.RunSQL ("ALTER TABLE Table3 ADD COLUMN Plačni denar")

Ali pa z metodo .Execute predmeta baze podatkov:

CurrentDb.Execute "ALTER TABLE Table3 ADD COLUMN Plačni denar"

Spustite tabelo

Ta vrstica kode VBA uporablja DoCmd.RunSQL za spreminjanje tabele:

DoCmd.RunSQL ("Tabela tabele DROP1")

Ali pa z metodo .Execute predmeta zbirke podatkov:

CurrentDb.Izvedite "Tabelo DROP tabele 1"

Izbriši SQL

Ta koda uporablja DoCmd.RunSQL za brisanje zapisov iz tabele:

DoCmd.RunSQL ("IZBRIŠI IZ tabele1, kjer je število = 999")

Ali pa z metodo .Execute predmeta baze podatkov:

CurrentDb.Execute "DELETE FROM table1 where num = 999"

Vstavi SQL v

Ta primerek DoCmd.RunSQL vstavi zapise v tabelo:

DoCmd.RunSQL ("INSERT INTO Table1 (LastName, dob, num) VALUES ('L1',#01/01/2001#, 78)")

Ali pa z metodo .Execute predmeta baze podatkov:

CurrentDb.Execute "INSERT INTO Table1 (LastName, dob, num) VALUES ('L1',#01/01/2001#, 78)"

Ustvari tabelo SQL

Ta koda bo ustvarila tabelo z uporabo SQL:

CurrentDb.Execute "CREATE TABLE Table1 (KeyID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, Field1 TEXT, Field2 TEXT)"

Ali pa z metodo .Execute predmeta baze podatkov:

CurrentDb.Execute "CREATE TABLE Table1 (KeyID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, Field1 TEXT, Field2 TEXT)"

Ustvari indeks

Ta vrstica kode VBA uporablja DoCmd.RunSQL za spreminjanje tabele:

DoCmd.RunSQL ("CREATE INDEX" & IndexName & "ON" & TableName & "(" & Ime stolpca & ");")

Ali pa z metodo .Execute predmeta baze podatkov:

CurrentDb.Execute "CREATE INDEX" & IndexName & "ON" & TableName & "(" & Ime stolpca & ");"

Indeks padca

Ta vrstica kode VBA uporablja DoCmd.RunSQL za spreminjanje tabele:

DoCmd.RunSQL "ID DROP INDEX ON ON Tabela1;"

Ali pa z metodo .Execute predmeta zbirke podatkov:

CurrentDb.Execute "DROP INDEX ID ON Tabela1;"

Ustvari bazo podatkov

Ta koda bo ustvarila bazo podatkov (brez SQL -a):

Access.DBEngine.CreateDatabase "c: \ Temp \ testDB1.accdb", DB_LANG_GENERAL

Poizvedbe SQL

Odprite poizvedbo

Za odpiranje shranjene poizvedbe lahko uporabite DoCmd.OpenQuery:

DoCmd.OpenQuery "qry_1", acViewNormal, acEdit

Izvedite poizvedbo

CurrentDB.Execute bo izvedel poizvedbo:

CurrentDb.Execute "qry_1", dbFailOnError

Izvozi poizvedbo v Excel

DoCmd.OutputTo bo izvozilo poizvedbo v Excel:

DoCmd.OutputTo acOutputQuery, "Query1", acFormatXLS, "c: \ temp \ ExportedQuery.xls"

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave