Доступ до прикладів SQL VBA

Цей підручник містить приклади використання SQL із доступом VBA. Як ви побачите нижче, для запуску запитів SQL у програмі Access з VBA можна скористатися будь -яким з DoCmd.RunSQL або CurrentDb.Execute методи.

Вибір SQL

У цьому прикладі буде використано оператор SQL Select для відкриття набору записів:

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

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

У цьому рядку коду VBA використовується метод DoCmd.RunSQL для оновлення таблиці:

DoCmd.RunSQL ("ОНОВЛЕННЯ таблиці1 НАЗАД num = 0 де num = 999")

Або ви можете скористатися методом .Execute об'єкта бази даних:

CurrentDb.Виконати "UPDATE table1 SET num = 0 where num = 999"

Таблиця змінних SQL

Цей рядок коду VBA використовує DoCmd.RunSQL для зміни таблиці:

DoCmd.RunSQL ("АЛЬТЕР ТАБЛИЦЯ Таблиця 3 ДОБАВИТИ СТОЛБУ Гроші заробітної плати")

Або за допомогою методу .Execute об'єкта бази даних:

CurrentDb.Execute "ALTER TABLE Table3 ADD COLMN Заробітна плата"

Падіння таблиці

Цей рядок коду VBA використовує DoCmd.RunSQL для зміни таблиці:

DoCmd.RunSQL ("Таблиця DROP Table1")

Або за допомогою методу .Execute об'єкта бази даних:

CurrentDb.Виконати "Таблицю DROP 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.Execute "INSERT INTO Table1 (LastName, dob, num) VALUES ('L1',#01/01/2001#, 78)"

Створення таблиці SQL

Цей код створить таблицю за допомогою SQL:

CurrentDb.Execute "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.Execute "CREATE INDEX" & IndexName & "ON" & TableName & "(" & ColumnName & ");"

Індекс падіння

Цей рядок коду VBA використовує DoCmd.RunSQL для зміни таблиці:

DoCmd.RunSQL "ІДЕНТИФІКАЦІЯ ІНДЕКСУ ВИКОРИСТАННЯ Таблиця1;"

Або за допомогою методу .Execute об'єкта бази даних:

CurrentDb.Виконати "ІДЕНТИФІКАЦІЮ ІНДЕКСУ ПІДКЛЮЧЕННЯ Таблиця1;"

Створення бази даних

Цей код створить базу даних (без 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