erreur 3464 : type de donnees incompatible

erreur 3464 : type de donnees incompatible - VB/VBA/VBS - Programmation

Marsh Posté le 25-08-2009 à 11:46:26    

bonjour,
 
debutant sous access, j'ai créé dans une base de données un formulaire dans lequel je recupère deux valeurs numériques : insee et choix_domaine
je voudrais ensuite utiliser ces deux valeurs dans une requête mais j'obtiens l'erreur citée en objet
 
ma procédure :
 
Dim rq_res As Recordset
Dim rq_com As String
rq_com = "SELECT Donnees_communes.Codgeo, Donnees_communes.Nom_court, Donnees_communes.Nom_long, Donnees_communes.Catégorie, Donnees_communes.Valeur_variable, domaine.code FROM domaine INNER JOIN Donnees_communes ON domaine.nom = Donnees_communes.Catégorie WHERE (((Donnees_communes.Codgeo)=" & insee & " ) AND ((domaine.code)=" & choix_domaine & " ));"
Set rq_res = CurrentDb.OpenRecordset(rq_com)

 
les types de variables dans les tables Donnees_communes, domaine sont cohérentes avec les variables insee et choix_domaine
 
pouvez vous m'aider ?
 
merci

Reply

Marsh Posté le 25-08-2009 à 11:46:26   

Reply

Marsh Posté le 25-08-2009 à 16:23:41    

Pour vous aider à debugguer, vous pouvez ajouter temporairement

MsgBox(rq_com)

Si insee est un numérique, alors il faut le convertir en une chaine de caractères, car la requête SQL est une grande chaine de caractères. Donc il faudrait écrire

WHERE (((Donnees_communes.Codgeo)=" & CStr(insee) & " ) ..."

Idem si choix_domaine est un numérique.
Par contre si insee ou choix_domaine est une chaine de caratères, alors il faudrait les entourer avec des apostrophes :

WHERE (((Donnees_communes.Codgeo)='" & insee & "' ) ..."

Reply

Marsh Posté le 25-08-2009 à 19:31:20    

merci pour la repônse
je teste ça demain
 
Eric

Reply

Marsh Posté le 26-08-2009 à 10:45:49    

bonjour,  
 
ça fonctionne  
merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed