[VBA]Type incompatible

Résolu
nanoufontaine Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
blux Messages postés 27151 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour

Voici le code tout simple que j'utilise ..

Private Sub Txt_codecole_LostFocus()
Dim bdenquete As Database
Dim reqecole As String
Dim rsecole As Recordset

Set bdenquete = DBEngine.Workspaces(0).OpenDatabase(App.Path & "/enquete.mdb")
reqecole = "select commune from ecoles where numecole = '" & txt_codecole.Text & "' "
Set rsecole = bdenquete.OpenRecordset(reqecole, dbOpenSnapshot)
rsecole.MoveFirst
Lb_Nomecole.Caption = rsecole("nomecole")
Lb_Commune.Caption = rsecole("commune")

End Sub


A l'exécution il me met le message d'erreru :

erreur d'exécution 13'
Type incompatible
Il s'arrête sur
set rsecole=bdenquete.dbopenrecordset(reqecole,dbopendynaset)


J'ai besoin d'aide !!

Aidez-moi
Merci

5 réponses

enzito Messages postés 52 Date d'inscription   Statut Membre Dernière intervention   13
 
Sauf erreur dans ta BD numecole est de type numérique?!
Il me semble que tu peux supprimer les guillemet autour du num. de ecole, ce qui donne :

reqecole = "select commune from ecoles where numecole = " & txt_codecole.Text

Suis pas certain, mes dernières lignes en VB ou VBA datent d'il ya 5 ans environ... mais c'est dans cette voie.
1
INFOBOY
 
bonjour, Merci Beaucoup Mr enzito je chercher cette astuce depuis deux jour et maintenant je lé trouver dans votre reponse merci b1 Mr enzito j'aime b1 si vous ajouté mon email chez vs for_blue@hotmail.fr
0
Gardzfield
 
C'est bien un problème de référence,

j'ai résolu le problème en prenant la ref :

Microsoft ActiveX Data Objects 2.8 Library

(j'utilisai la 2.1)
1
Kikou
 
Vous avez également résolu mon problème merci.
0
Lupin
 
Slt,

reqecole = "Select commune from [ecoles] where [numecole] = " & """" & txt_codecole.Text & """"

Lupin
0
nanoufontaine Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Le numecole n'est pas de type numérique mais est bien de type alphanumérique.

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
blux Messages postés 27151 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
Salut,

quelle version d'access ? XP ?

C'est sans doute dû à une référence non validée pour le code, genre DAO x.xx... (dans le menu outils/référence, de la fenêtre de code)

Pour en être sûr :

déclarer la variable rsecole en variant (Dim rsecole) et relancer...
0
nanoufontaine Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Slt,

J'ai access 2000 et je suis sous xp.
Sinon en référence, j'ai DAO 2.5/3.5

Merci encore
0
blux Messages postés 27151 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
Et il n'est pas en référence manquante (la case est bien cochée) ?

As-tu fait le test en variant ? résultat ?
0
nanoufontaine Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   > blux Messages postés 27151 Date d'inscription   Statut Modérateur Dernière intervention  
 
en variant ça marche !!

Merci beaucoup

Pkoi la référence ne marche pas, mystère !!!!

Encore merci
0
blux Messages postés 27151 Date d'inscription   Statut Modérateur Dernière intervention   3 362 > blux Messages postés 27151 Date d'inscription   Statut Modérateur Dernière intervention  
 
Peut-être une version de DAO trop ancienne ?

J'ai 3.6 en ACCESS 2002 sous XP...
0
floyd72
 
Pourquoi rsecole("nomecole") et where numecole =.... ?
0