Достъп до примери за VBA SQL

Този урок съдържа примери за използване на SQL с VBA Access. Както ще видите по -долу, за да стартирате SQL заявки в Access с VBA, можете да използвате или DoCmd.RunSQL или CurrentDb.Execute методи.

SQL Избор

Този пример ще използва израза SQL Select за отваряне на набор от записи:

Dim rs като набор от записи rs = CurrentDb.OpenRecordset ("изберете * от Таблица1, където num = 0", dbOpenDynaset)

Таблица за актуализация на SQL

Този ред с код VBA използва метода DoCmd.RunSQL за актуализиране на таблица:

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

Или можете да използвате метода .Execute на обекта на базата данни:

CurrentDb.Изпълнете "UPDATE table1 SET num = 0 where num = 999"

SQL Alter Table

Този ред с код VBA използва DoCmd.RunSQL за промяна на таблица:

DoCmd.RunSQL ("ALTER TABLE Table3 ADD COLUMN Заплати")

Или с метода .Execute на обекта на базата данни:

CurrentDb.Eeecute "ALTER TABLE Table3 ADD COLUMN Пари за заплати"

Пускане на таблица

Този ред с код VBA използва DoCmd.RunSQL за промяна на таблица:

DoCmd.RunSQL ("DROP Table Table1")

Или с метода .Execute на обекта на базата данни:

CurrentDb.Изпълнете "DROP Table Table1"

SQL Изтриване

Този код използва DoCmd.RunSQL за изтриване на записи от таблица:

DoCmd.RunSQL ("ИЗТРИВАНЕ ОТ таблица 1, където номер = 999")

Или с метода .Execute на обекта на базата данни:

CurrentDb.Изпълнете "ИЗТРИВАНЕ ОТ таблица 1, където номер = 999"

SQL вмъкване в

Този екземпляр на DoCmd.RunSQL вмъква записи в таблица:

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

Или с метода .Execute на обекта на базата данни:

CurrentDb.Изпълнете "INSERT INTO Table1 (LastName, dob, num) VALUES ('L1',#01/01/2001#, 78)"

SQL Създаване на таблица

Този код ще създаде таблица с помощта на SQL:

CurrentDb.Изпълнете "CREATE TABLE Table1 (KeyID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, Field1 TEXT, Field2 TEXT)"

Или с метода .Execute на обекта на базата данни:

CurrentDb.Изпълнете "CREATE TABLE Table1 (KeyID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, Field1 TEXT, Field2 TEXT)"

Създаване на индекс

Този ред с код VBA използва DoCmd.RunSQL за промяна на таблица:

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

Или с метода .Execute на обекта на базата данни:

CurrentDb.Изпълнете "CREATE INDEX" & IndexName & "ON" & TableName & "(" & ColumnName & ");"

Падащ индекс

Този ред с код VBA използва DoCmd.RunSQL за промяна на таблица:

DoCmd.RunSQL "ИДЕНТИФИКАТОР НА ИЗКЛЮЧВАНЕ НА ТАБЛИЦА1;"

Или с метода .Execute на обекта на базата данни:

CurrentDb.Изпълнете "DROP INDEX ID ON Table1;"

Създаване на база данни

Този код ще създаде база данни (без SQL):

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

SQL заявки

Отворете заявката

Можете да използвате DoCmd.OpenQuery, за да отворите запазена заявка:

DoCmd.OpenQuery "qry_1", acViewNormal, acEdit

Изпълнете заявка

CurrentDB.Execute ще изпълни заявка:

CurrentDb.Изпълнете "qry_1", dbFailOnError

Експортирайте заявка в Excel

DoCmd.OutputTo ще експортира заявка в Excel:

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

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave