[VBA] Requete SQL

Résolu/Fermé
Signaler
Messages postés
13
Date d'inscription
vendredi 4 mai 2007
Statut
Membre
Dernière intervention
4 juillet 2008
-
Messages postés
13
Date d'inscription
vendredi 4 mai 2007
Statut
Membre
Dernière intervention
4 juillet 2008
-
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

2 réponses

Messages postés
23860
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
23 janvier 2022
3 161
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 :
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
0
Messages postés
13
Date d'inscription
vendredi 4 mai 2007
Statut
Membre
Dernière intervention
4 juillet 2008

Oui je voyais bien qu'il me fallait qqch pour executer la requete, mais je ne connaissais pas la fonction.

Merci beaucoup en tout cas à toi Blux, ça fonctionne très bien.
0