Problème access-ado/ il me trouve pas un champ...

Résolu
cs_Sator Messages postés 351 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 6 octobre 2010 - 13 avril 2007 à 15:40
cs_Sator Messages postés 351 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 6 octobre 2010 - 14 avril 2007 à 13:31
Voici mon code..........
Call OuvRir(CheMin(4))
Rc.Open "Select * from TableClients where Id like '" & List4.List(List3.ListIndex) & "'", Ct, adOpenDynamic, adLockOptimistic
    Do While Not Rc.EOF
        Label10.Caption = Rc!code
        Text6.Text = Rc!Nom
        Text7.Text = Rc!Prénom
        Text9.Text = Rc!Date_de_naissance
        Text10.Text = Rc!Rue_Numéro
        Text21.Text = Rc!Npa_Ville
        Text27.Text = Rc!Téléphone
        Text28.Text = Rc!Portable
        Text29.Text = Rc!fax
        Text30.Text = Rc!TelProf
        Text31.Text = Rc!Adresse_mail
        Text32.Text = Rc!CodeBarre
        rt2.Text = Rc!commentaires
         Rc.MoveNext 
    Loop
Rc.Close
Ct.Close
'-----------------------------------------------------------------------------------------
Function OuvRir(Fichiers As String)
        Set Ct = New ADODB.Connection
        Set Rc = New ADODB.Recordset
    Ct.Provider = "Microsoft.Jet.OLEDB.4.0;Data Source=" & "'" & Fichiers & "'"
    Ct.Open
End Function

bref j'en perd mon latin....
rt2= un richtextbox; j'ai essayé avec un champs text même résultat
le champ : commentaires, est un champs mémo j'ai essayé de le modifier en champ texte ; même résultat.
J'ai fais un copier- collé du nom du champs donc pas de fautes d'orthographeet si je suprime la ligne "rt2.Text Rc!commentaires" il bug en me disant que rc.movenext n'est pas autorisé si l'objet est fermé, et avec la ligne rt2.Text Rc!commentaires, il me dit qu'il trouve pas le champs (Impossible de trouver l'objet dans la collection correspondant au nom ou à la référence ordinale demandé).
j'ai aussi essayé de supprimer la boucle compte tenu du fait que le champ id est à numérotation auto.... il me cherche aussi le champ qu'il ne trouve pas.....

Bref... à devenir Chèvre et à mangé du foin....
j'ai bientôt plus de cheveux... alors si quelqu'un à une idée....... je l'en remercie d'avance infiniment

:)Sator :)

17 réponses

HUGOFLASH Messages postés 27 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 5 juin 2007
14 avril 2007 à 11:02
Bonjour

Juste pour êtres sûr tes variables "rc" et "ct" on une portée global ?

@+

Hugoflash
3
aaliyan Messages postés 104 Date d'inscription samedi 12 mars 2005 Statut Membre Dernière intervention 30 avril 2007
13 avril 2007 à 15:47
As-tu cohé la case DAO... dans refereces-outils dans le menu VBA.
Tiens voila un bout de code que j'utilise.

Dim db As Database
Dim sql As String
Dim rs As Recordset

Set db = CurrentDb 

sql = "select trig from utilisateur where nom=" & Var
  Set rs = db.OpenRecordset(sql)
  Var = rs.Fields("trig")

Cela met le champ trig dans var.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
13 avril 2007 à 15:53
aaliyan   oublies DAO si possible (ADO est là ^^)

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
cs_Sator Messages postés 351 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 6 octobre 2010
13 avril 2007 à 15:54
J'ai oublié de dire qu'il me trouvait tout le reste....
j'ai essayé ta soluce et il ne me trouve toujours pas le champ....
désolé....

:)Sator :)
0

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

Posez votre question
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
13 avril 2007 à 15:57
Salut,

Si il te trouve pas le champ..ben...c'est qu'il n'existe pas ne crois tu pas ?
Verifie dans ta base s'il existe !!!

A+
Exploreur

 
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
13 avril 2007 à 15:58
je ne comprend pas le but de ta boucle...
le contenu de tes textbox va être remplacé...

vérifies le contenu de la collection Fields de Rc
( en fait, RC.Fields(n).Name)  pour valider la liste des champs retournés.

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
13 avril 2007 à 16:01
Bonjour,

si, comme je le pense, rt2 est une richtextbox, ne l'aurais-tu pas liée malencontreusement à une table ? (regarde ses propriétés)
0
cs_Sator Messages postés 351 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 6 octobre 2010
13 avril 2007 à 16:04
petite question vu que je pense employé ADO, si tu employais ADO tu fairais comment?

:)Sator :)
0
cs_Sator Messages postés 351 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 6 octobre 2010
13 avril 2007 à 16:06
très chèr Exploreur comme je l'ai dis j'ai fais un copié collé depuis la base, donc il existe..... promis juré... je vais pas craché par terre (je suis chez moi).... excuse-moi c'est un peu nerveux....

:)Sator :)
0
cs_Sator Messages postés 351 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 6 octobre 2010
13 avril 2007 à 16:09
 cher Renfil j'ai aussi essayé sans boucle... de toute façon il ni à qu'un enregistrement possible vu que le champ recherché est un numéro auto... j'ai essayé avec et sans... idem

:)Sator :)
0
cs_Sator Messages postés 351 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 6 octobre 2010
13 avril 2007 à 16:11
jmfmarques, j'ai aussi essayé avec un textbox , et idem....

:)Sator :)
0
HUGOFLASH Messages postés 27 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 5 juin 2007
13 avril 2007 à 19:04
Bonjour,

As-tu essayé de mettre ta requête dans access pour voir ce que affiche ta requête?

car je ne vois pas d'erreur dans ton code.

mais je ne comprend pas pourquoi tu as une autre erreur quand tu supprimes la ligne "rt2.Text = Rc!commentaires".

as-tu vérifier ce que  Renfield a dit:
      vérifies le contenu de la collection Fields de Rc
( en fait, RC.Fields(n).Name)  pour valider la liste des champs retournés

tu peux le vérifier avec un espion sur ta variable Rc.

@+
Hugoflash
0
cs_Sator Messages postés 351 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 6 octobre 2010
13 avril 2007 à 19:23
question .... le (n) représente le champ commentair?

:)Sator :)
0
HUGOFLASH Messages postés 27 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 5 juin 2007
13 avril 2007 à 20:17
n représente l'index du champ.
Rajoute ceci dans ton code.

Call OuvRir(CheMin(4))
Rc.Open "Select * from TableClients where Id like '" & List4.List(List3.ListIndex) & "'", Ct, adOpenDynamic, adLockOptimistic
   
   Dim MonChamp as ADODB.Field
   
   For Each MonChamp in Rc.Fields
         Debug.Print MonChamp.Name
  Next MonChamp

    Do While Not Rc.EOF
        Label10.Caption = Rc!code
        Text6.Text = Rc!Nom
etc.......

dans la fenêtre d'Exécution  tu devrais voir le nom de tous les champs de la table, reste à vérifier que le champ Commentaire soit présent.

@+
Hugoflash
0
cs_Sator Messages postés 351 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 6 octobre 2010
14 avril 2007 à 02:41
je te remercie infiniment, mais je dois avoir une erreur ailleur dans le programme, car avec ce que tu m'as mis il ne détecte plus rien...
D'autre part si je me une ' devant le rt2!Commentaires donc il ne prends plus la ligne en compte... il bug sur la ligne suivante... (rc.close) donc le champ n'est pas en cause... je vous dis c'est à s'arracher les cheveux....
mais je vais regarder... plus loin..... Merci encore

:)Sator :)
0
cs_Sator Messages postés 351 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 6 octobre 2010
14 avril 2007 à 13:24
Public Ct As ADODB.Connection
Public Rc As ADODB.Recordset
oui...

:)Sator :)
0
cs_Sator Messages postés 351 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 6 octobre 2010
14 avril 2007 à 13:31
en fait c'était là le problème.... merci infiniment....

tu ni as pas vraiment répondu mais tu m'as mis sur la voie, en fait j'ai fait une variable en local Rc => Rc1 et Ct => Ct1 et ça fonctionne...

:)Sator :)
0
Rejoignez-nous