Uzyskaj dostęp do przykładów SQL VBA

Ten samouczek zawiera przykłady używania SQL z VBA Access. Jak zobaczysz poniżej, do uruchamiania zapytań SQL w programie Access z użyciem języka VBA możesz użyć: DoCmd.RunSQL lub CurrentDb.Execute metody.

Wybór SQL

Ten przykład użyje instrukcji SQL Select do otwarcia zestawu rekordów:

Dim rs As Recordset Set rs = CurrentDb.OpenRecordset("wybierz * z Tabeli1, gdzie num=0", dbOpenDynaset)

Tabela aktualizacji SQL

Ten wiersz kodu VBA używa metody DoCmd.RunSQL do aktualizacji tabeli:

DoCmd.RunSQL ("AKTUALIZUJ tabela1 USTAW numer =0 gdzie numer=999")

Lub możesz użyć metody .Execute obiektu bazy danych:

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

Zmień tabelę SQL

Ten wiersz kodu VBA używa DoCmd.RunSQL do zmiany tabeli:

DoCmd.RunSQL ("ALTER TABLE Table3 ADD COLUMN Salary money")

Lub za pomocą metody .Execute obiektu bazy danych:

CurrentDb.Execute "ALTER TABLE Table3 ADD COLUMN Wynagrodzenie pieniędzy"

Upuść tabelę

Ten wiersz kodu VBA używa DoCmd.RunSQL do zmiany tabeli:

DoCmd.RunSQL ("Tabela DROP Table1")

Lub za pomocą metody .Execute obiektu bazy danych:

CurrentDb.Execute "DROP Table1"

Usuń SQL

Ten kod używa DoCmd.RunSQL do usuwania rekordów z tabeli:

DoCmd.RunSQL ("USUŃ Z tabeli1 gdzie num=999")

Lub za pomocą metody .Execute obiektu bazy danych:

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

SQL Wstaw do

To wystąpienie DoCmd.RunSQL wstawia rekordy do tabeli:

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

Lub za pomocą metody .Execute obiektu bazy danych:

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

Utwórz tabelę SQL

Ten kod utworzy tabelę za pomocą SQL:

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

Lub za pomocą metody .Execute obiektu bazy danych:

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

Utwórz indeks

Ten wiersz kodu VBA używa DoCmd.RunSQL do zmiany tabeli:

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

Lub za pomocą metody .Execute obiektu bazy danych:

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

Indeks spadku

Ten wiersz kodu VBA używa DoCmd.RunSQL do zmiany tabeli:

DoCmd.RunSQL "DROP INDEX ID ON Table1;"

Lub za pomocą metody .Execute obiektu bazy danych:

CurrentDb.Execute "DROP INDEX ID ON Table1;"

Utwórz bazę danych

Ten kod utworzy bazę danych (bez SQL):

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

Zapytania SQL

Otwórz zapytanie

Możesz użyć DoCmd.OpenQuery, aby otworzyć zapisane zapytanie:

DoCmd.OpenQuery „qry_1”, acViewNormal, acEdit

Wykonaj zapytanie

CurrentDB.Execute wykona zapytanie:

CurrentDb.Execute "qry_1", dbFailOnError

Eksportuj zapytanie do Excela

DoCmd.OutputTo wyeksportuje zapytanie do Excela:

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

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave