Bdd access : erreur 3265 élément non trouvé dans cette collection [Résolu]

lolpop 211 Messages postés mercredi 4 août 2004Date d'inscription 18 octobre 2010 Dernière intervention - 5 juil. 2006 à 21:00 - Dernière réponse : chaibat05 1884 Messages postés samedi 1 avril 2006Date d'inscription 20 novembre 2007 Dernière intervention
- 8 juil. 2006 à 12:59
Bonjour
cet fois je viens vers vous car j'ai un probleme avec ma base de donnée.
j'ai beaucoup galèré pour arrivé a faire quelque chose de simple avec les base de donnée access.
mais j'y arrive a peu prés mais j'ai un probleme.
en fait j'ai une listbox qui contient toutes les entré d'une table.
lorsque l'on clique dessus ca affiche le nom dans une textbox nom et le prenom dans le textbox prenom.
mon code marche impec lorsque je clique pour la premier fois sur une ligne de la listbox.
mais lorsque je clique sur une autre ligne de ma listbox pour changer de nom j'ai une erreur 3265 élément non trouvé dans cette collection.
voila le code de ma listbox_clic qui s'appel choix:
<hr />
Private Sub choix_Click()
choix1 = choix.Text

sql = "select * from nom where nom='" & choix1 & "' "
Set rs = db.OpenRecordset(sql, dbOpenSnapshot)

nom.Text = rs.Fields(nom)
prenom.Text = rs.Fields(prenom)
rs.Close

End Sub

<hr />si ca peu vous aidez voila le code lors du chargement du form:

<hr />Private Sub Form_Load()
Set db = OpenDatabase(App.Path & "\test.mdb")

sql = "select * from nom"
Set rs = db.OpenRecordset(sql, dbOpenSnapshot)

While Not rs.EOF

choix.AddItem rs.Fields("nom")
'choix.AddItem rs.Fields("nom") & " " & rs.Fields("prenom") '''Il ya un espace entre les 2 champs
rs.MoveNext
Wend

End Sub

<hr />
Quelqu'un vois de ou ca peu venir?
merci d'avance pour votre aide.
Afficher la suite 

Votre réponse

11 réponses

Meilleure réponse
lolpop 211 Messages postés mercredi 4 août 2004Date d'inscription 18 octobre 2010 Dernière intervention - 6 juil. 2006 à 11:15
3
Merci
le probleme vient de la :

nom.Text = rs.Fields(nom)

il ne faut pas oublier les "":
nom.Text = rs.Fields("nom")

Merci lolpop 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 102 internautes ce mois-ci

Commenter la réponse de lolpop
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 5 juil. 2006 à 21:52
0
Merci
Salut :

après ton rs.Close
met Set rs = Nothing

Sinon, n'oublie pas de déclarer tes variables :

Dim choix1 As String, sql As String

@++

--Mortalino--
Le Mystérieux Chevalier "Provençal, le Gaulois"
N'oubliez pas de lire le règlement !
Commenter la réponse de mortalino
lolpop 211 Messages postés mercredi 4 août 2004Date d'inscription 18 octobre 2010 Dernière intervention - 5 juil. 2006 à 22:10
0
Merci
d'accord merci beaucoup,
mais je n'ai jamais compris a quoi servait le fait de mettre =nothing.
ca ve dire qu'on vide la variable?
Commenter la réponse de lolpop
lolpop 211 Messages postés mercredi 4 août 2004Date d'inscription 18 octobre 2010 Dernière intervention - 5 juil. 2006 à 22:15
0
Merci
je viens de tester et le code me donne cela, mais j'ai toujours la même erreur:





<hr />
Private Sub choix_Click()
choix1 = choix.Text


sql = "select * from nom where nom='" & choix1 & "' " '''Remarqué la présence de ' obligatoire pour le bon fonctionnemnt
Set rs = db.OpenRecordset(sql, dbOpenSnapshot)


nom.Text = rs.Fields(nom)
prenom.Text = rs.Fields(prenom)
rs.Close
Set rs = Nothing


End Sub





<hr />lors du déboguage l'erreur se trouve la :

<hr />
nom.Text = rs.Fields(nom)
<hr />
Commenter la réponse de lolpop
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 5 juil. 2006 à 22:24
0
Merci
Alors c'est peut-etre les [] au lieu des '.
Ca vaut le coup d'essayer.

Le nothing, c'est pour vider la mémoire de ton objet instancié.

@++

--Mortalino--
Le Mystérieux Chevalier "Provençal, le Gaulois"
N'oubliez pas de lire le règlement !
Commenter la réponse de mortalino
lolpop 211 Messages postés mercredi 4 août 2004Date d'inscription 18 octobre 2010 Dernière intervention - 5 juil. 2006 à 23:09
0
Merci
j'ai essayé sans résultat non plus.
j'ai le chique pour trouvé des problemes c'est pas croyable lol.
Commenter la réponse de lolpop
nhervagault 6069 Messages postés dimanche 13 avril 2003Date d'inscription 15 juillet 2011 Dernière intervention - 5 juil. 2006 à 23:21
0
Merci
Salut

Apparament cela est normal comme erreur si on regarde la faq access

Ton enregistrement n'existe pas dans ta table.
--> Aucune données n'est renvoyées

Moi je te conseillerais d'attaquer ta base par ADO à la place de DAO.
Plus d'articles sur ce moteur
et moteur plus objet que DAO et plus rapide

http://access.developpez.com/faq/?page=user
Commenter la réponse de nhervagault
lolpop 211 Messages postés mercredi 4 août 2004Date d'inscription 18 octobre 2010 Dernière intervention - 5 juil. 2006 à 23:29
0
Merci
et pourtant l'enregistrement existe car en fait lorsque je clique sur nimporte quel ligen la premier fois ca marche , et si je reclique sur la meme ligne une seconde fois j'ai le message d'érreur.

pour le ADO ou DAO je ne sais pas coment ca marche, j'ai galéré pour comprendre poues les base de donnée et je suis tombé sur un site qui expliqué cette methode et cela marché chez moi donc je suis resté comme ca.
mais personellement je n'ai rien trouvé sur le net qui m'explique "compréhensiblementé comment on travail avec une bdd.
je suis long a la détente je sais je sais :)
Commenter la réponse de lolpop
nhervagault 6069 Messages postés dimanche 13 avril 2003Date d'inscription 15 juillet 2011 Dernière intervention - 5 juil. 2006 à 23:49
0
Merci
Salut

Regardes en faisant un rs.movefirst
avant la lecture pour position le curseur
sur le premier enregistrement

(non testé vb6 absent du pc)
Commenter la réponse de nhervagault
lolpop 211 Messages postés mercredi 4 août 2004Date d'inscription 18 octobre 2010 Dernière intervention - 5 juil. 2006 à 23:57
0
Merci
toujours pareil la meme erreur, j'ai teste avec une valeur qui n'est pas dans ma base et je n'ai pas la meme ereur.
Commenter la réponse de lolpop
chaibat05 1884 Messages postés samedi 1 avril 2006Date d'inscription 20 novembre 2007 Dernière intervention - 8 juil. 2006 à 12:59
0
Merci
Salut.
L' erreur: "Elément non trouvé dans cette collection" signifie que le nom du champ n' éxiste pas dans la liste des champs de ta table, et non sa valeur.Si c' étatit une question d' enregistrement tu auras plutot "Pas d' enregistrement courant.
Verifie l' orthographe du nom donné à ton champ.Si ça marche toujours pas essaye plutot:

nom.Text = rs.Fields("nom")
prenom.Text = rs.Fields("prenom")

ou bien (//et c'est la meilleure façon de procéder à mon avis)

nom.Text = rs.Fields![nom]
prenom.Text = rs.Fields![prenom]
A+
Commenter la réponse de chaibat05

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.