Få tilgang til VBA SQL -eksempler

Denne opplæringen inneholder eksempler på bruk av SQL med VBA Access. Som du vil se nedenfor, for å kjøre SQL -spørringer i Access med VBA, kan du bruke enten DoCmd.RunSQL eller CurrentDb.Execute metoder.

Velg SQL

Dette eksemplet vil bruke SQL Select -setningen til å åpne et rekordsett:

Dim rs As Recordset Set rs = CurrentDb.OpenRecordset ("velg * fra tabell1 hvor num = 0", dbOpenDynaset)

Oppdateringstabell for SQL

Denne linjen med VBA -kode bruker DoCmd.RunSQL -metoden for å oppdatere en tabell:

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

Eller du kan bruke .Execute -metoden for databaseobjektet:

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

SQL Alter Table

Denne linjen med VBA -kode bruker DoCmd.RunSQL for å endre en tabell:

DoCmd.RunSQL ("ALTER TABLE Table3 ADD COLUMN Lønnpenger")

Eller med .Execute -metoden for databaseobjektet:

CurrentDb.Execute "ALTER TABLE Table3 ADD COLUMN Lønnpenger"

Slipp bord

Denne linjen med VBA -kode bruker DoCmd.RunSQL for å endre en tabell:

DoCmd.RunSQL ("DROP Table Table1")

Eller med .Execute -metoden for databaseobjektet:

CurrentDb.Execute "DROP Table Table1"

Slett SQL

Denne koden bruker DoCmd.RunSQL til å slette poster fra en tabell:

DoCmd.RunSQL ("SLETT FRA tabell1 hvor num = 999")

Eller med .Execute -metoden for databaseobjektet:

CurrentDb.Execute "SLETT FRA tabell1 hvor num = 999"

SQL Sett inn i

Denne forekomsten av DoCmd.RunSQL setter inn poster i en tabell:

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) VERDI ('L1',#01/01/2001#, 78)"

SQL Lag tabell

Denne koden vil opprette en tabell ved hjelp av 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)"

Lag indeks

Denne linjen med VBA -kode bruker DoCmd.RunSQL for å endre en tabell:

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

Eller med .Execute -metoden for databaseobjektet:

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

Slipp indeks

Denne linjen med VBA -kode bruker DoCmd.RunSQL for å endre en tabell:

DoCmd.RunSQL "DROP INDEX ID ON Table1;"

Eller med .Execute -metoden for databaseobjektet:

CurrentDb.Execute "DROP INDEX ID ON Table1;"

Lag Database

Denne koden vil opprette en database (ingen SQL):

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

SQL -forespørsler

Åpen forespørsel

Du kan bruke DoCmd.OpenQuery til å åpne en lagret spørring:

DoCmd.OpenQuery "qry_1", acViewNormal, acEdit

Utfør forespørsel

CurrentDB.Execute vil utføre en spørring:

CurrentDb.Execute "qry_1", dbFailOnError

Eksporter forespørsel til Excel

DoCmd.OutputTo vil eksportere en spørring til Excel:

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

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave