Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/12/2011, 17h35   #1
Candidat au titre de Membre du Club
 
Inscription : août 2006
Messages : 45
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 45
Points : 10
Points : 10
Par défaut Curiosité avec un recordset et besoin d'aide pour corriger cela

Bonjour à tous,
Je mets mon problème dans son contexte :
Un formulaire lié à une requête SQL "X" '(pour info : me.recordset.recordsource = 5)
Un bouton à l’intérieur de ce formulaire lancant un code VBA.
Le code VBA ouvre un nouveau recordset :
Code :
1
2
3
4
5
Dim DbBase As DAO.Database
Dim Parcours As DAO.Recordset
Set DbBase = CurrentDb
Set Parcours = DbBase.OpenRecordset("Y") '(pour info : me.recordset.recordsource = 1)
Parcours.MoveFirst '(recordsource toujours à 1)
Jusque là, pas de problème. Il se pose lorsque je fais une opération sur le recordset du genre :
parcours.movelast ou parcours.movenext
Soudain, parcours.recordset.recordsource = 5
et seul un parcours.requery peut ramener parcours.recordset.recordsource = 1 (mais dans ce cas, parcours.absoluteposition = 1 et non EOF)
Je trouve ca curieux et j'ai beau chercher, je ne trouve pas la solution, parcours n'atteint jamais EOF.

Autre chose... si j'ouvre ce recordset "parcours" comme cela :
Code :
1
2
Set Parcours = DbBase.OpenRecordset("Y",dbOpenSnapshot,dbReadOnly)
parcours.recordcount = 5
ce que je ne m'explique pas non plus... C'est très certainement lié.

Avez vous une idée pour résoudre ce problème?
Merci à vous
Diablange est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2011, 23h18   #2
Membre éclairé
 
Avatar de tee_grandbois
 
Inscription : novembre 2004
Messages : 216
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 216
Points : 321
Points : 321
Bonsoir,
Sans le code complet, il est difficile de chercher d'où peut provenir ton problème, surtout que certaines de tes explications sont confuses :
Citation:
Soudain, parcours.recordset.recordsource = 5
et seul un parcours.requery peut ramener parcours.recordset.recordsource = 1 (mais dans ce cas, parcours.absoluteposition = 1 et non EOF)
ou imprécises :
Citation:
(pour info : me.recordset.recordsource = 5)
...
parcours.recordset.recordsource = 5
je pense que tu voulais parler du RecordCount.
Essaie d'être plus précis dans tes explications.
Une question : est-ce que le recordset que tu ouvres avec le bouton est le même que le recordset que tu es en train de parcourir et que tu rafraichis par requery ?
tee_grandbois est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2011, 10h24   #3
Candidat au titre de Membre du Club
 
Inscription : août 2006
Messages : 45
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 45
Points : 10
Points : 10
Bonjour et merci de ta réponse.
Je devais vraiment être fatigué hier soir pour écrire des bêtises pareilles.
Donc.... oui, je voulais parler de recordcount et non de recordsource.

J'étais tellement fatigué que j'ai oublié les règles de base d'analyse de code....
Bref, ce matin, je remet le nez dedans et je trouve tout de suite l'erreur.
Mea culpa, tout ce que j'ai raconté dans le premier post était un fonctionnement normal, je suis parti dans un délire. En fait, une simple référence dans le code était fausse et tout fonctionne bien maintenant.

Merci tout de même.
Diablange est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h18.


 
 
 
 
Partenaires

Hébergement Web