[VBA]Type incompatible

Résolu/Fermé
nanoufontaine Messages postés 5 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 26 janvier 2006 - Modifié le 24 juil. 2006 à 14:47
blux Messages postés 26490 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 novembre 2024 - 13 janv. 2015 à 15:31
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 mardi 22 novembre 2005 Statut Membre Dernière intervention 12 janvier 2006 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 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 26 janvier 2006
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 26490 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 novembre 2024 3 316
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 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 26 janvier 2006
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 26490 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 novembre 2024 3 316
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 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 26 janvier 2006 > blux Messages postés 26490 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 novembre 2024
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 26490 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 novembre 2024 3 316 > blux Messages postés 26490 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 novembre 2024
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