OVH Cloud OVH Cloud

Probleme avec RecordsetClone

3 réponses
Avatar
Florent Faivre
Bonjour à tous,

Voici mon problème... je n'arrive pas à le résoudre.

J'ai un formulaire qui est basé sur la requete
SELECT * FROM TB_Etudes;

Dans ce formulaire, j'ai une liste déroulante dont la source est:
SELECT Id_ETude, Nom_Etude FROM TB_Etudes; (ma liste pointe vers Id_Etude
qui est un numéro auto).

Le but du jeu est de choisir dans ma liste déroulante une étude, et
d'afficher les infos la concernant dans mon état. Pour cela j'ai développé
un bout de code qui donne ceci:

Private Sub ZoneDeroulante_AfterUpdate()
Me.RecordsetClone.FindFirst "[TB_Etude]![IdEtude] = " &
Me.ZoneDeroulante
Me.Bookmark = Me.RecordsetClone.Bookmark
Me.E_NumEtude.Requery
Me.E_NomEtude.Requery
Me.E_TypeEtude.Requery
End Sub

Ca marchait très bien... cela ne marche qu'aléatoirement maintenant...
Pour certaines études, le FindFirst ne marche pas! Dans la fenêtre
d'exécution qd je tape Me.recordsetClone.Nomatch j'ai "Vrai", ou "Faux"...
alors que toutes ces études sont bien dans ma table TB_Etudes!
Je ne comprends pas d'ou vient mon probleme...

Merci à ceux qui pourront me donner une piste...

Florent

3 réponses

Avatar
Raymond
Bonsoir.

Normalement tu n'as pas besoin de faire des requery après avoir affiché ton
enregistrement d'après un finfirst.
essaie cette manière sans plus pour vois ce que ça donne:
Private Sub ZoneDeroulante_AfterUpdate()
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[IdEtude] = " & Str(Nz(Me![ZoneDeroulante], 0))
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Florent Faivre" a écrit dans le message de
news:bmh8eu$9e3$
Bonjour à tous,

Voici mon problème... je n'arrive pas à le résoudre.

J'ai un formulaire qui est basé sur la requete
SELECT * FROM TB_Etudes;

Dans ce formulaire, j'ai une liste déroulante dont la source est:
SELECT Id_ETude, Nom_Etude FROM TB_Etudes; (ma liste pointe vers Id_Etude
qui est un numéro auto).

Le but du jeu est de choisir dans ma liste déroulante une étude, et
d'afficher les infos la concernant dans mon état. Pour cela j'ai développé
un bout de code qui donne ceci:

Private Sub ZoneDeroulante_AfterUpdate()
Me.RecordsetClone.FindFirst "[TB_Etude]![IdEtude] = " &
Me.ZoneDeroulante
Me.Bookmark = Me.RecordsetClone.Bookmark
Me.E_NumEtude.Requery
Me.E_NomEtude.Requery
Me.E_TypeEtude.Requery
End Sub

Ca marchait très bien... cela ne marche qu'aléatoirement maintenant...
Pour certaines études, le FindFirst ne marche pas! Dans la fenêtre
d'exécution qd je tape Me.recordsetClone.Nomatch j'ai "Vrai", ou "Faux"...
alors que toutes ces études sont bien dans ma table TB_Etudes!
Je ne comprends pas d'ou vient mon probleme...

Merci à ceux qui pourront me donner une piste...

Florent




Avatar
Raymond
.../...
je viens de voir que tu nommes Id_Etude et quelquefois IdEtude.
vérifies ce que tu as dans ton code.

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.
Avatar
Florent Faivre
Merci de tes réponses, mais en fait... apres 4 jours de recherches
incessantes... j'ai enfin trouvé mon erreur...
Une requete en dur dans laquelle il me manquait un truc...

MErci quand meme!

Florent

"Raymond" a écrit dans le message de
news:
.../...
je viens de voir que tu nommes Id_Etude et quelquefois IdEtude.
vérifies ce que tu as dans ton code.

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.