[VBA] Requete SQL
Résolu
tof85
Messages postés
13
Statut
Membre
-
tof85 Messages postés 13 Statut Membre -
tof85 Messages postés 13 Statut Membre -
Bonjour,
j'ai un formulaire sous access, dans ce formulaire j'ai une liste déroulante contenant deux champs (nom et prénom) fesant référence à une table personne.
J'ai un bouton valider qui permet d'ajouter le nom de la personne dans une autre table.
Je fais une requete pour récupérer le nom de la personne, car avec la liste déroulante je récupère que son id.
Le problème c'est que dans la deuxième table je ne recupère pas le nom, mais la requete (select....).
Voici le code :
Private Sub Commande2_Click()
'ajoute un nouvel enregistrement
Dim db As Database
Dim rs As Recordset
Dim num As String
Dim req As String
'ouverture de la BD
Set db = CurrentDb
'ouverture du recordSet
Set rs = db.OpenRecordset("Test")
num = Me!nom
req = "select nom from personne where id= " & num & ";"
rs.AddNew
rs!champ = req
rs.Update
rs.Close
MsgBox ("Ajout effectué")
End Sub
Merci d'avance
j'ai un formulaire sous access, dans ce formulaire j'ai une liste déroulante contenant deux champs (nom et prénom) fesant référence à une table personne.
J'ai un bouton valider qui permet d'ajouter le nom de la personne dans une autre table.
Je fais une requete pour récupérer le nom de la personne, car avec la liste déroulante je récupère que son id.
Le problème c'est que dans la deuxième table je ne recupère pas le nom, mais la requete (select....).
Voici le code :
Private Sub Commande2_Click()
'ajoute un nouvel enregistrement
Dim db As Database
Dim rs As Recordset
Dim num As String
Dim req As String
'ouverture de la BD
Set db = CurrentDb
'ouverture du recordSet
Set rs = db.OpenRecordset("Test")
num = Me!nom
req = "select nom from personne where id= " & num & ";"
rs.AddNew
rs!champ = req
rs.Update
rs.Close
MsgBox ("Ajout effectué")
End Sub
Merci d'avance
A voir également:
- [VBA] Requete SQL
- Logiciel sql - Télécharger - Bases de données
- Excel compter cellule couleur sans vba - Guide
- Vba attendre 1 seconde ✓ - Forum VB / VBA
- Dépassement de capacité vba ✓ - Forum Excel
- Incompatibilité de type vba ✓ - Forum VB / VBA
2 réponses
Salut,
c'est normal que ça renvoie le texte de la requête, tu ne fais qu'affecter une chaine dans une variable.
A aucun moment, tu ne dis à ACCESS d'exécuter la requête contenue dans ta variable.
Quand tu veux un résultat simple, utilise la fonction dlookup, comme ça :
c'est normal que ça renvoie le texte de la requête, tu ne fais qu'affecter une chaine dans une variable.
A aucun moment, tu ne dis à ACCESS d'exécuter la requête contenue dans ta variable.
Quand tu veux un résultat simple, utilise la fonction dlookup, comme ça :
Req = DLookUp("nom","personne", "id = " & num)C'est bien plus simple, et ça ne déclare pas des tonnes de variables qu'il faut manipuler