VBA requete SQL SELECT
Résolu
chrisXP
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je fait actuellement une macro VBA pour manipuler mon logiciel de dessin (corel draw)
J'ai besoin de votre aide car je sèche, j'arrive a faire en sql une requête insert mais impossible de récupérer le résultat d'un select dans une variable...
J'ai beau chercher des exemples depuis qque jours, rien ne fonctionne :(
La table de l'exemple s'appelle test_connection
elle ne comporte que 2 champs :
User
Timestamp (horodatage de la creation de l'enregistrement)
J'ai activé les références,
Microsoft ActiveX Data Objects Recordset 2.8
Microsoft ActiveX Data Objects 2.6
Microsoft DAO 3.6 Object
Voici ce qui marche pour un insert, mais je ne trouve pas d'exemple fonctionnel pour un select ou un update :(
Par avance merci à qui voudra bien m'aider
Je fait actuellement une macro VBA pour manipuler mon logiciel de dessin (corel draw)
J'ai besoin de votre aide car je sèche, j'arrive a faire en sql une requête insert mais impossible de récupérer le résultat d'un select dans une variable...
J'ai beau chercher des exemples depuis qque jours, rien ne fonctionne :(
La table de l'exemple s'appelle test_connection
elle ne comporte que 2 champs :
User
Timestamp (horodatage de la creation de l'enregistrement)
J'ai activé les références,
Microsoft ActiveX Data Objects Recordset 2.8
Microsoft ActiveX Data Objects 2.6
Microsoft DAO 3.6 Object
Voici ce qui marche pour un insert, mais je ne trouve pas d'exemple fonctionnel pour un select ou un update :(
Dim oConn As ADODB.Connection Dim rs As ADODB.Recordset Private Sub ConnectDB() Set oConn = New ADODB.Connection oConn.Open "DRIVER={MySQL ODBC 5.1 Driver};" & _ "SERVER=<<ip de mon serveur>>;" & _ "DATABASE=<<nom de la base>>;" & _ "USER=<<utilisateur>>;" & _ "PASSWORD=<<mdp>>;" & _ "Option=3" End Sub Private Sub InsertData() Set rs = New ADODB.Recordset ConnectDB With wsBooks strSQL = "INSERT INTO test_connection (User) " & _ "VALUES ('Dupont')" rs.Open strSQL, oConn, adOpenDynamic, adLockOptimistic End With End Sub
Par avance merci à qui voudra bien m'aider
A voir également:
- VBA requete SQL SELECT
- Please select boot device - Forum Matériel & Système
- Incompatibilité de type vba ✓ - Forum Programmation
- Logiciel sql - Télécharger - Bases de données
- Excel compter cellule couleur sans vba - Guide
- &Quot;Please select a boot device " ? ??? - Forum Windows
1 réponse
Bonjour,
si vous voulez un enregistrement particulier, il faudra ajouter une close WHERE
A+
si vous voulez un enregistrement particulier, il faudra ajouter une close WHERE
Private Sub SelectData() Set rs = New ADODB.Recordset ConnectDB With wsBooks 'requete tous les champs de la table strSQL = "select * from test_connection" rs.Open strSQL, oConn, adOpenDynamic, adLockOptimistic 'test si au moins un enregistrement If Not rs.BOF And rs.EOF Then rs.MoveFirst Do While Not rs.EOF 'recuperation valeur champ X = rs.Fields("nom du champ") rs.MoveNext Loop End If End With End Sub
A+
pourquoi des "\" ???
strSQL = "SELECT Timestamp FROM test_connection Where User = \'Chris\'"
essayez ceci:
strSQL = "SELECT Timestamp FROM test_connection Where User = 'Chris'"
Oui, dans x, il y a normalement le contenu du champ Timestamp
mettez MsgBox (x) avant le loop, pour voir si vous avez un enregistrement
A+
Tout ce déroule sans erreur mais je n'ai pas de msgbox qui s'ouvre :(