Piekļūstiet VBA SQL piemēriem

Šajā apmācībā ir SQL izmantošanas piemēri ar VBA Access. Kā redzēsit zemāk, lai palaistu SQL vaicājumus programmā Access ar VBA, varat izmantot vai nu DoCmd.RunSQL vai CurrentDb. Izpildīt metodes.

SQL Atlasīt

Šajā piemērā tiks izmantots SQL Select priekšraksts, lai atvērtu ierakstu kopu:

Dim rs kā ierakstu kopa rs = CurrentDb.OpenRecordset ("izvēlieties * no 1. tabulas, kur num = 0", dbOpenDynaset)

SQL atjaunināšanas tabula

Šī VBA koda rinda izmanto DoCmd.RunSQL metodi, lai atjauninātu tabulu:

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

Vai arī varat izmantot datu bāzes objekta metodi .Execute:

CurrentDb.Ecute "UPDATE table1 SET num = 0 kur num = 999"

SQL maiņu tabula

Šī VBA koda rinda izmanto DoCmd.RunSQL, lai mainītu tabulu:

DoCmd.RunSQL ("ALTER TABLE Table3 ADD COLUMN Algas nauda")

Vai ar datu bāzes objekta metodi .Execute:

CurrentDb.Execute "ALTER TABLE Table3 ADD COLUMN Algas nauda"

Nometiet tabulu

Šī VBA koda rinda izmanto DoCmd.RunSQL, lai mainītu tabulu:

DoCmd.RunSQL ("DROP 1. tabula")

Vai ar datu bāzes objekta metodi .Execute:

CurrentDb.Execute "DROP Table1 Table1"

SQL Dzēst

Šis kods izmanto DoCmd.RunSQL, lai izdzēstu ierakstus no tabulas:

DoCmd.RunSQL ("DELETE FROM from table1 where number = 999")

Vai ar datu bāzes objekta metodi .Execute:

CurrentDb.Ecute "DELETE FROM tabula1 kur skaitlis = 999"

SQL ievietošana

Šis DoCmd.RunSQL gadījums ievieto ierakstus tabulā:

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

Vai ar datu bāzes objekta metodi .Execute:

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

SQL Izveidot tabulu

Šis kods izveidos tabulu, izmantojot SQL:

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

Vai ar datu bāzes objekta metodi .Execute:

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

Izveidot indeksu

Šī VBA koda rinda izmanto DoCmd.RunSQL, lai mainītu tabulu:

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

Vai ar datu bāzes objekta metodi .Execute:

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

Kritiena indekss

Šī VBA koda rinda izmanto DoCmd.RunSQL, lai mainītu tabulu:

DoCmd.RunSQL "DROP INDEX ID ON Table1;"

Vai ar datu bāzes objekta metodi .Execute:

CurrentDb.Ecece "DROP INDEX ID ON Table1;"

Izveidot datu bāzi

Šis kods izveidos datu bāzi (bez SQL):

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

SQL vaicājumi

Atvērt vaicājumu

Varat izmantot DoCmd.OpenQuery, lai atvērtu saglabātu vaicājumu:

DoCmd.OpenQuery "qry_1", acViewNormal, acEdit

Izpildīt vaicājumu

CurrentDB.Execute izpildīs vaicājumu:

CurrentDb.Ecute "qry_1", dbFailOnError

Eksportēt vaicājumu uz Excel

DoCmd.OutputTo eksportēs vaicājumu uz Excel:

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

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave