Erreur de compilation: Membre de méthode ou de données introuvable [Résolu]

Messages postés
20
Date d'inscription
vendredi 23 mai 2008
Statut
Membre
Dernière intervention
3 novembre 2011
- - Dernière réponse : ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
- 14 nov. 2012 à 20:31
Bonjour,
j'ai un soucis en VB Access, voilà le code :

Option Compare Database
Public TComptes(1 To 3000, 1 To 2) As Variant
Public Sub chargement_Tableaux()
'ATTENTION : vérifier que le composant recordset est ADO 2.1  et  pas DAO 3.6

'chargement de la table access Plan_Comptable dans le tableau TComptes
'***********************************************************
Dim numcompte As Integer
Dim libcompte As String  'libelle_compte
'déclaration d'un recordset sur la table Plan_Comptable
Dim rscompte As Recordset
Set rscompte = New ADODB.Recordset
rscompte.Open "select * from Plan_Comptable", CurrentProject.Connection, adOpenKeyset, adLockReadOnly
....etc...


Et l'arrêt (avec le message [Erreur de compilation: Membre de méthode ou de données introuvable]) se positionne sur le ".Open" avant la requête.
J'aimerais donc savoir quel est le problème s'il-vous-plait..
(sachant qu'au niveau des références, je suis normalement comme il faut [avec l'ADO 2.1 entre autres])
Merci d'avance à ceux qui répondront et qui m'aideront à comprendre ce qu'il se passe!
Afficher la suite 

12 réponses

Meilleure réponse
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
63
3
Merci
Salut

Recordset, sans autre précision, s'adresse à DAO (obsolète)
Dim rscompte As ADODB.Recordset

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 204 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Jack
Messages postés
20
Date d'inscription
vendredi 23 mai 2008
Statut
Membre
Dernière intervention
3 novembre 2011
0
Merci
Merci jack!

..j'avais trouvé dans la nuit (peu avant ta réponse tiens en fait..) après de longues recherches sur le net et en effet, cela fonctionne maintenant.
Merci encore pour ta réponse mister!

Khenat
Commenter la réponse de Khenat375
0
Merci
Bonjour,
J'ai le même message qui s'affiche mais avec ce code :

Private Sub Commande3_Click()
Dim rs As ADODB.Recordset
SQL = "SELECT CODENAF FROM NAF WHERE" & Modifiable1 & " LIKE LIBELLE"
Set rs = New ADODB.Recordset
rs.Open SQL, ActiveConnection
rs.Close
Texte4.Value = rs.Fields(0)
End Sub

Le problème se positionne sur le private sub... Je suis donc bloquée !
Merci d'avance pour votre aide !
Commenter la réponse de Alicetche
Messages postés
1241
Date d'inscription
mardi 10 octobre 2006
Statut
Membre
Dernière intervention
27 août 2013
4
0
Merci
Bonjour,

Affiche ta requete SQL avant de l'exécuter pour vérifier qu'elle est correcte, je pense qu'il manque un espace.
à quoi est initialisé "Modifiable1" ?

Tu fermes ton rs avant de l'utiliser.


L'expérience, c'est une connerie par jour, mais jamais la même..
Commenter la réponse de lolokun
0
Merci
Option Compare Database

Private Sub Commande3_Click()
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.ActiveConnection = CurrentProject.Connection
MsgBox ("SELECT CODENAF FROM NAF WHERE CODENAF= " & Modifiable1)
rs.Open "SELECT CODENAF FROM NAF WHERE CODENAF= " & Modifiable1
rs.Close
Texte4.Value = rs.Fields(0)
End Sub


J'ai exécuté ce code, mais j'ai maintenant le message : "Erreur de syntaxe (opérateur absent) dans l'expression "CODENAF=46.35Z".
Est-ce parce qu'il y a un point dans le résultat du modifiable ?
Commenter la réponse de Alicetche
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
215
0
Merci
WHERE CODENAF= " & Modifiable1

déjà : un espace manque
et de quel type est CODENAF ?
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Commenter la réponse de ucfoutu
0
Merci
CODENAF est de type texte
Commenter la réponse de Alicetche
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
215
0
Merci
et donc ===>> puisque dans la requête, la valeur texte doit être mise entre guillemets ===>>
Tu as le choix entre :
"SELECT CODENAF FROM NAF WHERE CODENAF = '" & Modifiable1) & "'"

et
"SELECT CODENAF FROM NAF WHERE CODENAF = """ & Modifiable1) & """"

Puis-je te faire remarque que tu aurais vu seul cette erreur si tu avais suivi le conseil de lolokun ? , à savoir :
Affiche ta requete SQL avant de l'exécuter pour vérifier qu'elle est correcte

Belle perte de temps.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Commenter la réponse de ucfoutu
0
Merci
Merci mais j'avais affiché ma requete, mais je comprenais toujours pas...
J'ai fait ce que tu m'as dit mais maintenant ça bloque au niveau du Texte4.Value=rs.Fields(0)...

Option Compare Database

Private Sub Commande3_Click()
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.ActiveConnection = CurrentProject.Connection
MsgBox ("SELECT CODENAF FROM NAF WHERE LIBELLE = """ & Modifiable1 & """")
rs.Open "SELECT CODENAF FROM NAF WHERE LIBELLE = """ & Modifiable1 & """"
rs.Close
Texte4.Value = rs.Fields(0)
End Sub
Commenter la réponse de Alicetche
Messages postés
1241
Date d'inscription
mardi 10 octobre 2006
Statut
Membre
Dernière intervention
27 août 2013
4
0
Merci
Re,

et si tu lisais ma seconde remarque aussi?
Tu cherches à utiliser ton recordset alors que tu l'as fermé avant..


L'expérience, c'est une connerie par jour, mais jamais la même..
Commenter la réponse de lolokun
0
Merci
Ok merci !! quelle idiote je suis, j'avais complètement zapé ta remarque...
En tout cas, ça marche, merci :)
Commenter la réponse de Alicetche
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
215
0
Merci
Tout cela paraitrait incroyable. C'est pourtant vrai !
Je vais dormir de ce pas.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Commenter la réponse de ucfoutu