Ovaj vodič sadrži primjere korištenja SQL -a s VBA Accessom. Kao što ćete vidjeti u nastavku, za pokretanje SQL upita u programu Access s VBA možete koristiti bilo DoCmd.RunSQL ili CurrentDb.Execute metodama.
SQL Odaberite
Ovaj primjer će koristiti izraz SQL Select za otvaranje skupa zapisa:
Dim rs kao skup zapisa zapisa rs = CurrentDb.OpenRecordset ("odaberite * iz tablice1 gdje je broj = 0", dbOpenDynaset)
Tablica ažuriranja SQL -a
Ova linija VBA koda koristi metodu DoCmd.RunSQL za ažuriranje tablice:
DoCmd.RunSQL ("UPDATE table1 SET num = 0 where num = 999")
Ili možete koristiti .Execute metodu objekta baze podataka:
CurrentDb.Execute "UPDATE table1 SET num = 0 where num = 999"
Tablica izmjena SQL -a
Ova linija VBA koda koristi DoCmd.RunSQL za promjenu tablice:
DoCmd.RunSQL ("ALTER TABELA Table3 ADD COLUMN Novac za plaću")
Ili pomoću .Execute metode objekta baze podataka:
CurrentDb.Execute "ALTER TABLE Table3 ADD COLONN Novac za plaću"
Ispuštanje tablice
Ova linija VBA koda koristi DoCmd.RunSQL za promjenu tablice:
DoCmd.RunSQL ("DROP Table Table1")
Ili pomoću .Execute metode objekta baze podataka:
CurrentDb.Izvršite "DROP Table Table1"
SQL Brisanje
Ovaj kôd koristi DoCmd.RunSQL za brisanje zapisa iz tablice:
DoCmd.RunSQL ("IZBRIŠI IZ tablice1 gdje je broj = 999")
Ili pomoću .Execute metode objekta baze podataka:
CurrentDb.Execute "DELETE FROM table1 where num = 999"
SQL Umetnite u
Ova instanca DoCmd.RunSQL umetne zapise u tablicu:
DoCmd.RunSQL ("INSERT INTO Table1 (LastName, dob, num) VALUES ('L1',#01/01/2001#, 78)")
Ili pomoću .Execute metode objekta baze podataka:
CurrentDb.Execute "INSERT INTO Table1 (LastName, dob, num) VALUES ('L1',#01/01/2001#, 78)"
SQL tablica za stvaranje
Ovaj kôd će stvoriti tablicu pomoću SQL -a:
CurrentDb.Execute "CREATE TABLE Table1 (KeyID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, Field1 TEXT, Field2 TEXT)"
Ili pomoću .Execute metode objekta baze podataka:
CurrentDb.Execute "CREATE TABLE Table1 (KeyID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, Field1 TEXT, Field2 TEXT)"
Izradi indeks
Ova linija VBA koda koristi DoCmd.RunSQL za promjenu tablice:
DoCmd.RunSQL ("CREATE INDEX" & IndexName & "ON" & TableName & "(" & Naziv stupca & ");")
Ili pomoću .Execute metode objekta baze podataka:
CurrentDb.Execute "CREATE INDEX" & IndexName & "ON" & TableName & "(" & Naziv stupca & ");"
Indeks pada
Ova linija VBA koda koristi DoCmd.RunSQL za promjenu tablice:
DoCmd.RunSQL "ID INDEKSA DROP INDEX ON Table1;"
Ili pomoću .Execute metode objekta baze podataka:
CurrentDb.Execute "DROP INDEX ID ON ON Table1;"
Stvorite bazu podataka
Ovaj kôd će stvoriti bazu podataka (bez SQL -a):
Access.DBEngine.CreateDabasebase "c: \ Temp \ testDB1.accdb", DB_LANG_GENERAL
SQL upiti
Otvorite upit
Pomoću DoCmd.OpenQuery možete otvoriti spremljeni upit:
DoCmd.OpenQuery "qry_1", acViewNormal, acEdit
Izvrši upit
CurrentDB.Execute će izvršiti upit:
CurrentDb.Izvršite "qry_1", dbFailOnError
Izvezite upit u Excel
DoCmd.OutputTo će izvesti upit u Excel:
DoCmd.OutputTo acOutputQuery, "Query1", acFormatXLS, "c: \ temp \ ExportedQuery.xls"