Доступ к примерам VBA SQL

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

SQL Select

В этом примере будет использоваться оператор SQL Select для открытия набора записей:

Dim rs As Recordset Set rs = CurrentDb.OpenRecordset ("выберите * из таблицы1, где num = 0", dbOpenDynaset)

Таблица обновлений SQL

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

DoCmd.RunSQL ("UPDATE table1 SET num = 0, где num = 999")

Или вы можете использовать метод .Execute объекта базы данных:

CurrentDb.Execute "UPDATE table1 SET num = 0, где num = 999"

Таблица изменения SQL

Эта строка кода VBA использует DoCmd.RunSQL для изменения таблицы:

DoCmd.RunSQL («ИЗМЕНИТЬ ТАБЛИЦУ Table3 ДОБАВИТЬ КОЛОНКУ Зарплата»)

Или с помощью метода .Execute объекта базы данных:

CurrentDb.Execute "ALTER TABLE Table3 ADD COLUMN Salary money"

Drop Table

Эта строка кода VBA использует DoCmd.RunSQL для изменения таблицы:

DoCmd.RunSQL ("УДАЛИТЬ таблицу Table1")

Или с помощью метода .Execute объекта базы данных:

CurrentDb.Execute «DROP Table Table1»

SQL Удалить

Этот код использует DoCmd.RunSQL для удаления записей из таблицы:

DoCmd.RunSQL ("УДАЛИТЬ ИЗ table1, где num = 999")

Или с помощью метода .Execute объекта базы данных:

CurrentDb.Execute "УДАЛИТЬ ИЗ таблицы1, где число = 999"

Вставить SQL в

Этот экземпляр DoCmd.RunSQL вставляет записи в таблицу:

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

Или с помощью метода .Execute объекта базы данных:

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

SQL Create Table

Этот код создаст таблицу с использованием SQL:

CurrentDb.Execute «СОЗДАТЬ ТАБЛИЦУ Table1 (KeyID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, Field1 TEXT, Field2 TEXT)»

Или с помощью метода .Execute объекта базы данных:

CurrentDb.Execute «СОЗДАТЬ ТАБЛИЦУ Table1 (KeyID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, Field1 TEXT, Field2 TEXT)»

Создать индекс

Эта строка кода VBA использует DoCmd.RunSQL для изменения таблицы:

DoCmd.RunSQL ("СОЗДАТЬ ИНДЕКС" & IndexName & "ON" & TableName & "(" & ColumnName & ");")

Или с помощью метода .Execute объекта базы данных:

CurrentDb.Execute «СОЗДАТЬ ИНДЕКС» & Имя индекса & «ВКЛ» & Имя таблицы & "(" & Имя столбца & ");"

Отбросить индекс

Эта строка кода VBA использует DoCmd.RunSQL для изменения таблицы:

DoCmd.RunSQL "DROP INDEX ID ON Table1;"

Или с помощью метода .Execute объекта базы данных:

CurrentDb.Execute "УДАЛИТЬ ИНДЕКС ИДЕНТИФИКАЦИИ НА Table1;"

Создать базу данных

Этот код создаст базу данных (без SQL):

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

SQL запросы

Открыть запрос

Вы можете использовать DoCmd.OpenQuery, чтобы открыть сохраненный запрос:

DoCmd.OpenQuery "qry_1", acViewNormal, acEdit

Выполнить запрос

CurrentDB.Execute выполнит запрос:

CurrentDb.Execute «qry_1», dbFailOnError

Экспорт запроса в Excel

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

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

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave