[VBA]Type incompatible

Résolu
nanoufontaine Messages postés 5 Statut Membre - 29 nov. 2005 à 16:45
blux Messages postés 27807 Statut Modérateur -
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 Statut Membre 13
29 nov. 2005 à 17:32
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
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
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
Vous avez également résolu mon problème merci.
0
Slt,

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

Lupin
0
nanoufontaine Messages postés 5 Statut Membre
30 nov. 2005 à 09:01
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 27807 Statut Modérateur
30 nov. 2005 à 13:55
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 Statut Membre
30 nov. 2005 à 14:07
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 27807 Statut Modérateur
30 nov. 2005 à 14:15
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 Statut Membre > blux Messages postés 27807 Statut Modérateur
30 nov. 2005 à 14:22
en variant ça marche !!

Merci beaucoup

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

Encore merci
0
blux Messages postés 27807 Statut Modérateur > blux Messages postés 27807 Statut Modérateur
30 nov. 2005 à 14:30
Peut-être une version de DAO trop ancienne ?

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

Discussions similaires