Přístup k VBA SQL Příklady

Tento tutoriál obsahuje příklady použití SQL s VBA Access. Jak uvidíte níže, ke spouštění SQL dotazů v Accessu s VBA můžete použít buď DoCmd.RunSQL nebo CurrentDb.Execute metody.

Vyberte SQL

Tento příklad použije příkaz SQL Select k otevření sady záznamů:

Dim rs As Recordset Set rs = CurrentDb.OpenRecordset ("select * from Table1 where num = 0", dbOpenDynaset)

Aktualizační tabulka SQL

Tento řádek kódu VBA používá k aktualizaci tabulky metodu DoCmd.RunSQL:

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

Nebo můžete použít metodu .Execute objektu databáze:

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

Tabulka změn SQL

Tento řádek kódu VBA používá k úpravě tabulky DoCmd.RunSQL:

DoCmd.RunSQL ("ALTER TABLE Table3 ADD COLUMN platové peníze")

Nebo pomocí metody .Execute databázového objektu:

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

Skládací stůl

Tento řádek kódu VBA používá k úpravě tabulky DoCmd.RunSQL:

DoCmd.RunSQL ("DROP Table Table1")

Nebo pomocí metody .Execute databázového objektu:

CurrentDb.Execute "DROP Table Table1"

Smazat SQL

Tento kód používá DoCmd.RunSQL k odstranění záznamů z tabulky:

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

Nebo pomocí metody .Execute databázového objektu:

CurrentDb.Execute "DELETE FROM table1 where num = 999"

Vložit SQL do

Tato instance DoCmd.RunSQL vkládá záznamy do tabulky:

DoCmd.RunSQL ("VLOŽTE DO TABULKY1 (Příjmení, dob, počet) HODNOTY ('L1',#01/01/2001#, 78)")

Nebo pomocí metody .Execute databázového objektu:

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

Tabulka pro vytvoření SQL

Tento kód vytvoří tabulku pomocí SQL:

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

Nebo pomocí metody .Execute databázového objektu:

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

Vytvořit index

Tento řádek kódu VBA používá k úpravě tabulky DoCmd.RunSQL:

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

Nebo pomocí metody .Execute databázového objektu:

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

Zrušte index

Tento řádek kódu VBA používá k úpravě tabulky DoCmd.RunSQL:

DoCmd.RunSQL "DROP INDEX ID ON Table1;"

Nebo pomocí metody .Execute databázového objektu:

CurrentDb.Execute "DROP INDEX ID ON Table1;"

Vytvořit databázi

Tento kód vytvoří databázi (bez SQL):

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

Dotazy SQL

Otevřený dotaz

K otevření uloženého dotazu můžete použít DoCmd.OpenQuery:

DoCmd.OpenQuery "qry_1", acViewNormal, acEdit

Spustit dotaz

CurrentDB.Execute provede dotaz:

CurrentDb.Execute "qry_1", dbFailOnError

Export dotazu do aplikace Excel

DoCmd.OutputTo exportuje dotaz do aplikace Excel:

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