Accéder aux exemples SQL VBA

Ce didacticiel contient des exemples d'utilisation de SQL avec VBA Access. Comme vous le verrez ci-dessous, pour exécuter des requêtes SQL dans Access avec VBA, vous pouvez utiliser soit le DoCmd.RunSQL ou CurrentDb.Execute méthodes.

Sélection SQL

Cet exemple utilisera l'instruction SQL Select pour ouvrir un jeu d'enregistrements :

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

Tableau de mise à jour SQL

Cette ligne de code VBA utilise la méthode DoCmd.RunSQL pour mettre à jour une table :

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

Ou vous pouvez utiliser la méthode .Execute de l'objet de base de données :

CurrentDb.Execute "UPDATE table1 SET num =0 où num=999"

Table de modification SQL

Cette ligne de code VBA utilise DoCmd.RunSQL pour modifier une table :

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

Ou avec la méthode .Execute de l'objet base de données :

CurrentDb.Execute "ALTER TABLE Table3 ADD COLUMN Salary money"

Supprimer le tableau

Cette ligne de code VBA utilise DoCmd.RunSQL pour modifier une table :

DoCmd.RunSQL ("DROP Table Table1")

Ou avec la méthode .Execute de l'objet base de données :

CurrentDb.Execute "DROP Table Table1"

Supprimer SQL

Ce code utilise le DoCmd.RunSQL pour supprimer les enregistrements d'une table :

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

Ou avec la méthode .Execute de l'objet base de données :

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

Insertion SQL dans

Cette instance de DoCmd.RunSQL insère des enregistrements dans une table :

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

Ou avec la méthode .Execute de l'objet base de données :

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

SQL Créer une table

Ce code créera une table en utilisant SQL :

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

Ou avec la méthode .Execute de l'objet base de données :

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

Créer un index

Cette ligne de code VBA utilise DoCmd.RunSQL pour modifier une table :

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

Ou avec la méthode .Execute de l'objet base de données :

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

Indice de chute

Cette ligne de code VBA utilise DoCmd.RunSQL pour modifier une table :

DoCmd.RunSQL "DROP INDEX ID ON Table1;"

Ou avec la méthode .Execute de l'objet base de données :

CurrentDb.Execute "DROP INDEX ID ON Table1;"

Créer une base de données

Ce code va créer une base de données (pas de SQL) :

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

Requêtes SQL

Ouvrir la requête

Vous pouvez utiliser DoCmd.OpenQuery pour ouvrir une requête enregistrée :

DoCmd.OpenQuery "qry_1", acViewNormal, acEdit

Exécuter l'ordre

CurrentDB.Execute exécutera une requête :

CurrentDb.Execute "qry_1", dbFailOnError

Exporter la requête vers Excel

DoCmd.OutputTo exportera une requête vers Excel :

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

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave