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

Khenat375 20 Messages postés vendredi 23 mai 2008Date d'inscription 3 novembre 2011 Dernière intervention - 2 nov. 2011 à 16:16 - Dernière réponse : ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention
- 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

Répondre au sujet
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscriptionModérateurStatut 28 août 2015 Dernière intervention - 3 nov. 2011 à 00:13
+3
Utile
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)
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Jack
Khenat375 20 Messages postés vendredi 23 mai 2008Date d'inscription 3 novembre 2011 Dernière intervention - 3 nov. 2011 à 11:41
0
Utile
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
Alicetche - 14 nov. 2012 à 13:12
0
Utile
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
lolokun 1241 Messages postés mardi 10 octobre 2006Date d'inscription 27 août 2013 Dernière intervention - 14 nov. 2012 à 14:18
0
Utile
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
Alicetche - 14 nov. 2012 à 15:03
0
Utile
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
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 14 nov. 2012 à 17:05
0
Utile
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
Alicetche - 14 nov. 2012 à 17:51
0
Utile
CODENAF est de type texte
Commenter la réponse de Alicetche
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 14 nov. 2012 à 18:40
0
Utile
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
Alicetche - 14 nov. 2012 à 20:02
0
Utile
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
lolokun 1241 Messages postés mardi 10 octobre 2006Date d'inscription 27 août 2013 Dernière intervention - 14 nov. 2012 à 20:05
0
Utile
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
Alicetche - 14 nov. 2012 à 20:21
0
Utile
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
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 14 nov. 2012 à 20:31
0
Utile
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.