Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Formulaire : se positionner sur un enregistrement précis

4 réponses
Avatar
Pampi
Bonjour,

Soit un formulaire qui s'appuie sur une requ=EAte qui elle-
m=EAme s'appuie sur un fichier.
Dans ce fichier, un seul enregistrement a le champ "Par=20
d=E9faut" =E0 Oui.

Je voudrais, =E0 l'ouverture du formulaire, me positionner=20
directement sur l'enregistrement qui a la valeur Oui pour=20
le champ "Par d=E9faut".

Ainsi, s'il y a 100 enregistrements dans mon fichier et=20
que mon enregistrement =E0 Oui est le 50=E8me (selon le tri de=20
ma requ=EAte), je voudrais qu'=E0 l'ouverture le s=E9lecteur=20
soit sur ce 50=E8me enregistrement.

Je suppose qu'il faut utiliser un gotorecord, s=FBrement le=20
acGoTo ... mais comment trouver le n=B0 d'enregistrement de=20
mon 50=E8me enregistrement ?


Je vous remercie par avance.

Pampi.

4 réponses

Avatar
Raymond [mvp]
Bonsoir.

il vaut mieux utiliser findfirst qui utilise une clause where sans le mot
where:
Rs.FindFirst "[par défaut] = 'oui' "


--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Pampi" a écrit dans le message de
news: 2f9501c5087a$02606030$
Bonjour,

Soit un formulaire qui s'appuie sur une requête qui elle-
même s'appuie sur un fichier.
Dans ce fichier, un seul enregistrement a le champ "Par
défaut" à Oui.

Je voudrais, à l'ouverture du formulaire, me positionner
directement sur l'enregistrement qui a la valeur Oui pour
le champ "Par défaut".

Ainsi, s'il y a 100 enregistrements dans mon fichier et
que mon enregistrement à Oui est le 50ème (selon le tri de
ma requête), je voudrais qu'à l'ouverture le sélecteur
soit sur ce 50ème enregistrement.

Je suppose qu'il faut utiliser un gotorecord, sûrement le
acGoTo ... mais comment trouver le n° d'enregistrement de
mon 50ème enregistrement ?


Je vous remercie par avance.

Pampi.
Avatar
Pampi
Bonjour Raymond,

Merci mais je ne comprends pas trop ta solution...
Le FindFirst, je le positionne à l'ouverture de mon
formulaire ? Cela suffit-il pour que le curseur se
posiionne sur mon 50ème enregistrement ?
Peut-être n'ai-je pas été assez explicite ...

Supposons que mon formulaire n'affiche à l'écran que 5
enregistrements et donc que je doive utiliser l'ascenseur
pour visualiser les précédents ou les suivants.

Mon désir est que, à l'ouverture du formulaire, soit
affiché parmi les 5 enregistrements visibles mon
enregistrement ayant la valeur "Par défaut" à Oui (je te
rappelle qu'il est unique).

Sachant que la source de mon formulaire est une requête,
comment le FindFirst est-il utilisable ?


Merci par avance.

Pampi.


-----Message d'origine-----
Bonsoir.

il vaut mieux utiliser findfirst qui utilise une clause
where sans le mot

where:
Rs.FindFirst "[par défaut] = 'oui' "


--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Pampi" a écrit
dans le message de

news: 2f9501c5087a$02606030$
Bonjour,

Soit un formulaire qui s'appuie sur une requête qui elle-
même s'appuie sur un fichier.
Dans ce fichier, un seul enregistrement a le champ "Par
défaut" à Oui.

Je voudrais, à l'ouverture du formulaire, me positionner
directement sur l'enregistrement qui a la valeur Oui pour
le champ "Par défaut".

Ainsi, s'il y a 100 enregistrements dans mon fichier et
que mon enregistrement à Oui est le 50ème (selon le tri de
ma requête), je voudrais qu'à l'ouverture le sélecteur
soit sur ce 50ème enregistrement.

Je suppose qu'il faut utiliser un gotorecord, sûrement le
acGoTo ... mais comment trouver le n° d'enregistrement de
mon 50ème enregistrement ?


Je vous remercie par avance.

Pampi.



.



Avatar
Raymond [mvp]
Bonjour.

tu fais comme ceci:

Private Sub Form_Load()
Dim Rs As DAO.Recordset
Set Rs = Me.Recordset
Rs.FindFirst "[par défaut] = 'oui' "
Set Rs = Nothing
End Sub

et tu coches la référence DAO 3.65 (alt + F11, outils/ références)

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Pampi" a écrit dans le message de
news: 0c2d01c508fb$acc91540$
Bonjour Raymond,

Merci mais je ne comprends pas trop ta solution...
Le FindFirst, je le positionne à l'ouverture de mon
formulaire ? Cela suffit-il pour que le curseur se
posiionne sur mon 50ème enregistrement ?
Peut-être n'ai-je pas été assez explicite ...

Supposons que mon formulaire n'affiche à l'écran que 5
enregistrements et donc que je doive utiliser l'ascenseur
pour visualiser les précédents ou les suivants.

Mon désir est que, à l'ouverture du formulaire, soit
affiché parmi les 5 enregistrements visibles mon
enregistrement ayant la valeur "Par défaut" à Oui (je te
rappelle qu'il est unique).

Sachant que la source de mon formulaire est une requête,
comment le FindFirst est-il utilisable ?


Merci par avance.

Pampi.
Avatar
Pampi
C'est parfait, ça marche !

Merci Raymond.

Pampi

-----Message d'origine-----
Bonjour.

tu fais comme ceci:

Private Sub Form_Load()
Dim Rs As DAO.Recordset
Set Rs = Me.Recordset
Rs.FindFirst "[par défaut] = 'oui' "
Set Rs = Nothing
End Sub

et tu coches la référence DAO 3.65 (alt + F11, outils/
références)


--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Pampi" a écrit
dans le message de

news: 0c2d01c508fb$acc91540$
Bonjour Raymond,

Merci mais je ne comprends pas trop ta solution...
Le FindFirst, je le positionne à l'ouverture de mon
formulaire ? Cela suffit-il pour que le curseur se
posiionne sur mon 50ème enregistrement ?
Peut-être n'ai-je pas été assez explicite ...

Supposons que mon formulaire n'affiche à l'écran que 5
enregistrements et donc que je doive utiliser l'ascenseur
pour visualiser les précédents ou les suivants.

Mon désir est que, à l'ouverture du formulaire, soit
affiché parmi les 5 enregistrements visibles mon
enregistrement ayant la valeur "Par défaut" à Oui (je te
rappelle qu'il est unique).

Sachant que la source de mon formulaire est une requête,
comment le FindFirst est-il utilisable ?


Merci par avance.

Pampi.



.