Toegang tot VBA SQL-voorbeelden

Deze zelfstudie bevat voorbeelden van het gebruik van SQL met VBA-toegang. Zoals u hieronder zult zien, kunt u voor het uitvoeren van SQL-query's in Access met VBA ofwel de DoCmd.RunSQL of CurrentDb.Execute methoden.

SQL-selectie

In dit voorbeeld wordt de SQL Select-instructie gebruikt om een ​​recordset te openen:

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

SQL-updatetabel

Deze regel VBA-code gebruikt de DoCmd.RunSQL-methode om een ​​tabel bij te werken:

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

Of u kunt de .Execute-methode van het databaseobject gebruiken:

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

SQL-wijzigingstabel

Deze regel VBA-code gebruikt de DoCmd.RunSQL om een ​​tabel te wijzigen:

DoCmd.RunSQL ("ALTER TABLE Table3 TOEVOEGEN KOLOM Salarisgeld")

Of met de .Execute methode van het database object:

CurrentDb.Execute "WIJZIG TABEL Tabel3 TOEVOEGEN KOLOM Salarisgeld"

Tafel laten vallen

Deze regel VBA-code gebruikt de DoCmd.RunSQL om een ​​tabel te wijzigen:

DoCmd.RunSQL ("DROP Tabel Tabel1")

Of met de .Execute methode van het database object:

CurrentDb.Execute "DROP Table Table1"

SQL verwijderen

Deze code gebruikt de DoCmd.RunSQL om records uit een tabel te verwijderen:

DoCmd.RunSQL ("VERWIJDEREN UIT tabel1 waarbij num=999")

Of met de .Execute methode van het database object:

CurrentDb.Execute "VERWIJDEREN UIT tabel1 waarbij num=999"

SQL invoegen in

Dit exemplaar van DoCmd.RunSQL voegt records in een tabel in:

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

Of met de .Execute methode van het database object:

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

SQL-tabel maken

Deze code maakt een tabel met SQL:

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

Of met de .Execute methode van het database object:

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

Index maken

Deze regel VBA-code gebruikt de DoCmd.RunSQL om een ​​tabel te wijzigen:

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

Of met de .Execute methode van het database object:

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

Index laten vallen

Deze regel VBA-code gebruikt de DoCmd.RunSQL om een ​​tabel te wijzigen:

DoCmd.RunSQL "DROP INDEX ID OP Tabel1;"

Of met de .Execute methode van het database object:

CurrentDb.Execute "DROP INDEX ID ON Table1;"

Database maken

Met deze code wordt een database gemaakt (geen SQL):

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

SQL-query's

Zoekopdracht openen

U kunt DoCmd.OpenQuery gebruiken om een ​​opgeslagen query te openen:

DoCmd.OpenQuery "qry_1", acViewNormal, acEdit

Query uitvoeren

CurrentDB.Execute zal een query uitvoeren:

CurrentDb.Execute "qry_1", dbFailOnError

Query exporteren naar Excel

DoCmd.OutputTo exporteert een query naar Excel:

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

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave