Šioje pamokoje pateikiami SQL naudojimo su „VBA Access“ pavyzdžiai. Kaip matysite toliau, norėdami paleisti SQL užklausas programoje „Access“ su VBA, galite naudoti arba „DoCmd.RunSQL“ arba DabartinisDb. Vykdyti metodus.
SQL Pasirinkite
Šiame pavyzdyje įrašų rinkiniui atidaryti bus naudojamas „SQL Select“ sakinys:
Dim rs As Recordset Set rs = CurrentDb.OpenRecordset ("pasirinkite * iš 1 lentelės, kur num = 0", dbOpenDynaset)
SQL atnaujinimo lentelė
Ši VBA kodo eilutė naudoja DoCmd.RunSQL metodą, kad atnaujintų lentelę:
DoCmd.RunSQL ("UPDATE table1 SET num = 0 kur num = 999")
Arba galite naudoti duomenų bazės objekto metodą .Execute:
CurrentDb.Execute "UPDATE table1 SET num = 0 kur num = 999"
SQL keitimo lentelė
Ši VBA kodo eilutė naudoja DoCmd.RunSQL, kad pakeistų lentelę:
„DoCmd.RunSQL“ („PAKEITIMŲ LENTELĖ
Arba naudodami .Execute duomenų bazės objekto metodą:
CurrentDb.Execute "PAKEISKITE LENTELĘ3 3 lentelė. PRIDĖTI SKILTĮ Algos pinigai"
Numesti stalą
Ši VBA kodo eilutė naudoja DoCmd.RunSQL, kad pakeistų lentelę:
„DoCmd.RunSQL“ („DROP lentelės 1 lentelė“)
Arba naudodami .Execute duomenų bazės objekto metodą:
CurrentDb.Execute "DROP Table1 Table1"
SQL Ištrinti
Šis kodas naudoja „DoCmd.RunSQL“, kad ištrintų įrašus iš lentelės:
„DoCmd.RunSQL“ („Ištrinti iš lentelės1, kurioje skaičius = 999“)
Arba naudodami .Execute duomenų bazės objekto metodą:
CurrentDb.Execute "Ištrinti iš lentelės1, kur skaičius = 999"
SQL įterpimas į
Šis „DoCmd.RunSQL“ egzempliorius įterpia įrašus į lentelę:
DoCmd.RunSQL ("INSERT INTO Table1 (LastName, dob, num) VALUES ('L1',#01/01/2001#, 78)")
Arba naudodami duomenų bazės objekto metodą .Execute:
CurrentDb.Execute "INSERT INTO Table1 (LastName, dob, num) VALUES ('L1',#01/01/2001#, 78)"
SQL sukurti lentelę
Šis kodas sukurs lentelę naudodami SQL:
CurrentDb.Execute "CREATE TABLE Table 1 (KeyID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, Field1 TEXT, Field2 TEXT)"
Arba naudodami .Execute duomenų bazės objekto metodą:
CurrentDb.Execute "CREATE TABLE Table 1 (KeyID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, Field1 TEXT, Field2 TEXT)"
Sukurti indeksą
Ši VBA kodo eilutė naudoja DoCmd.RunSQL, kad pakeistų lentelę:
DoCmd.RunSQL ("CREATE INDEX" & IndexName & "ON" & TableName & "(" & ColumnName & ");")
Arba naudodami .Execute duomenų bazės objekto metodą:
CurrentDb.Vykdyti "CREATE INDEX" & IndexName & "ON" & TableName & "(" & ColumnName & ");"
Kritimo indeksas
Ši VBA kodo eilutė naudoja DoCmd.RunSQL, kad pakeistų lentelę:
DoCmd.RunSQL "DROP INDEX ID ON1 Table;"
Arba naudodami .Execute duomenų bazės objekto metodą:
CurrentDb.Execute "DROP INDEX ID ON 1 Table;"
Sukurkite duomenų bazę
Šis kodas sukurs duomenų bazę (be SQL):
Access.DBEngine.CreateDatabase "c: \ Temp \ testDB1.accdb", DB_LANG_GENERAL
SQL užklausos
Atidaryti užklausą
Galite naudoti „DoCmd.OpenQuery“ norėdami atidaryti išsaugotą užklausą:
„DoCmd.OpenQuery“ „qry_1“, „acViewNormal“, „acEdit“
Vykdyti užklausą
CurrentDB.Execute vykdys užklausą:
CurrentDb.Vykdykite „qry_1“, dbFailOnError
Eksportuokite užklausą į „Excel“
„DoCmd.OutputTo“ eksportuos užklausą į „Excel“:
DoCmd.OutputTo acOutputQuery, "Query1", acFormatXLS, "c: \ temp \ ExportedQuery.xls"