Tämä opetusohjelma sisältää esimerkkejä SQL: n käytöstä VBA Accessin kanssa. Kuten alla näet, voit käyttää SQL -kyselyitä Accessissa VBA: n kanssa käyttämällä joko DoCmd.RunSQL tai CurrentDb.Toteuta menetelmiä.
SQL Valitse
Tämä esimerkki käyttää SQL Select -käskyä tietuejoukon avaamiseen:
Dim rs tietuejoukkona rs = CurrentDb.OpenRecordset ("valitse * taulukosta 1, jossa numero = 0", dbOpenDynaset)
SQL -päivitystaulukko
Tämä VBA -koodirivi päivittää taulukon DoCmd.RunSQL -menetelmällä:
DoCmd.RunSQL ("UPDATE table1 SET num = 0 jossa num = 999")
Tai voit käyttää tietokantaobjektin .Execute -menetelmää:
CurrentDb.Ezeote "UPDATE table1 SET num = 0 jossa num = 999"
SQL -taulukko
Tämä VBA -koodirivi käyttää DoCmd.RunSQL: ää taulukon muuttamiseen:
DoCmd.RunSQL ("ALTER TABLE Table3 ADD COLUMN Palkkaraha")
Tai tietokantaobjektin .Execute -menetelmällä:
CurrentDb.Ezeote "ALTER TABLE Table3 ADD COLUMN Palkkarahat"
Pudota taulukko
Tämä VBA -koodirivi käyttää DoCmd.RunSQL: ää taulukon muuttamiseen:
DoCmd.RunSQL ("DROP Table Table1")
Tai tietokantaobjektin .Execute -menetelmällä:
CurrentDb.Ezeote "DROP Table Table1"
SQL Poista
Tämä koodi käyttää DoCmd.RunSQL -tiedostoa tietueiden poistamiseen taulukosta:
DoCmd.RunSQL ("POISTA taulukosta1, jossa numero = 999")
Tai tietokantaobjektin .Execute -menetelmällä:
CurrentDb.Ezeote "DELETE FROM table1 where number = 999"
SQL Insert Into
Tämä DoCmd.RunSQL -ilmentymä lisää tietueet taulukkoon:
DoCmd.RunSQL ("INSERT INTO Table1 (Sukunimi, syntymäaika, numero) ARVOT ('L1',#01/01/2001#, 78)")
Tai tietokantaobjektin .Execute -menetelmällä:
CurrentDb.Ezeute "INSERT INTO Table1 (Sukunimi, syntymäaika, numero) ARVOT ('L1',#01/01/2001#, 78)"
SQL Luo taulukko
Tämä koodi luo taulukon SQL: llä:
CurrentDb.Ezeote "CREATE TABLE Table1 (KeyID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, Field1 TEXT, Field2 TEXT)"
Tai tietokantaobjektin .Execute -menetelmällä:
CurrentDb.Ezeote "CREATE TABLE Table1 (KeyID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, Field1 TEXT, Field2 TEXT)"
Luo hakemisto
Tämä VBA -koodirivi käyttää DoCmd.RunSQL: ää taulukon muuttamiseen:
DoCmd.RunSQL ("CREATE INDEX" & IndexName & "ON" & TableName & "(" & ColumnName & ");")
Tai tietokantaobjektin .Execute -menetelmällä:
CurrentDb.Toteuta "CREATE INDEX" & IndexName & "ON" & TableName & "(" & ColumnName & ");"
Pudotusindeksi
Tämä VBA -koodirivi käyttää DoCmd.RunSQL: ää taulukon muuttamiseen:
DoCmd.RunSQL "DROP INDEX ID ON Table1;"
Tai tietokantaobjektin .Execute -menetelmällä:
CurrentDb.Ezeute "DROP INDEX ID ON Table1;"
Luo tietokanta
Tämä koodi luo tietokannan (ei SQL):
Access.DBEngine.CreateDatabase "c: \ Temp \ testDB1.accdb", DB_LANG_GENERAL
SQL -kyselyt
Avaa kysely
Voit avata tallennetun kyselyn DoCmd.OpenQueryn avulla:
DoCmd.OpenQuery "qry_1", acViewNormal, acEdit
Suorita kysely
CurrentDB.Execute suorittaa kyselyn:
CurrentDb.Toteuta "qry_1", dbFailOnError
Vie kysely Exceliin
DoCmd.OutputTo vie kyselyn Exceliin:
DoCmd.OutputTo acOutputQuery, "Query1", acFormatXLS, "c: \ temp \ ExportedQuery.xls"