Få åtkomst till VBA SQL -exempel

Den här självstudien innehåller exempel på hur du använder SQL med VBA Access. Som du kommer att se nedan kan du antingen använda för att köra SQL -frågor i Access med VBA DoCmd.RunSQL eller CurrentDb.Execute metoder.

Välj SQL

Detta exempel använder SQL Select -satsen för att öppna en postmängd:

Dim rs as Recordset Set rs = CurrentDb.OpenRecordset ("välj * från tabell1 där num = 0", dbOpenDynaset)

Uppdateringstabell för SQL

Denna rad med VBA -kod använder DoCmd.RunSQL -metoden för att uppdatera en tabell:

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

Eller så kan du använda .Execute -metoden för databasobjektet:

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

SQL Alter Table

Denna rad med VBA -kod använder DoCmd.RunSQL för att ändra en tabell:

DoCmd.RunSQL ("ALTER TABLE Table3 ADD COLUMN Lönepengar")

Eller med .Execute -metoden för databasobjektet:

CurrentDb.Execute "ALTER TABLE Table3 ADD COLUMN Lönepengar"

Släpp bord

Denna rad med VBA -kod använder DoCmd.RunSQL för att ändra en tabell:

DoCmd.RunSQL ("DROP Table Table1")

Eller med .Execute -metoden för databasobjektet:

CurrentDb.Execute "DROP Table Table1"

Ta bort SQL

Denna kod använder DoCmd.RunSQL för att ta bort poster från en tabell:

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

Eller med .Execute -metoden för databasobjektet:

CurrentDb.Execute "RADERA FRÅN tabell1 där num = 999"

SQL Infoga i

Den här förekomsten av DoCmd.RunSQL infogar poster i en tabell:

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

Eller med .Execute -metoden för databasobjektet:

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

SQL Skapa tabell

Denna kod skapar en tabell med SQL:

CurrentDb.Execute "SKAPA TABELL Tabell1 (KeyID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, Field1 TEXT, Field2 TEXT)"

Eller med .Execute -metoden för databasobjektet:

CurrentDb.Execute "SKAPA TABELL Tabell1 (KeyID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, Field1 TEXT, Field2 TEXT)"

Skapa index

Denna rad med VBA -kod använder DoCmd.RunSQL för att ändra en tabell:

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

Eller med .Execute -metoden för databasobjektet:

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

Släpp index

Denna rad med VBA -kod använder DoCmd.RunSQL för att ändra en tabell:

DoCmd.RunSQL "DROP INDEX ID ON Table1;"

Eller med .Execute -metoden för databasobjektet:

CurrentDb.Execute "DROP INDEX ID ON Table1;"

Skapa databas

Denna kod skapar en databas (ingen SQL):

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

SQL -frågor

Öppna fråga

Du kan använda DoCmd.OpenQuery för att öppna en sparad fråga:

DoCmd.OpenQuery "qry_1", acViewNormal, acEdit

Utför fråga

CurrentDB.Execute kommer att köra en fråga:

CurrentDb.Execute "qry_1", dbFailOnError

Exportera fråga till Excel

DoCmd.OutputTo exporterar en fråga till Excel:

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

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave