OVH Cloud OVH Cloud

Se déplacer dans un sous-formulaire

6 réponses
Avatar
defluc
Bonsoir

J'ai un sous-formulaire en mode simple (affichage d'un enregistrement à
la fois) dans un fourmulaire.

Je voudrais que le sous-formulaire affiche l'enregistrement dont le
champs index correspond à une valeur donnée.

Merci d'avance

6 réponses

Avatar
Raymond [mvp]
Bonjour.

Utilise Filter et FilterOn pour déclarer un filtre dans ton sous-formulaire
:
Me.SF.Form.Filter = "[numéro] =" & Me.Numéro
Me.SF.Form.FilterOn = True
tu peux passer par forms!.........
--
@+
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


"defluc" a écrit dans le message de news:

Bonsoir

J'ai un sous-formulaire en mode simple (affichage d'un enregistrement à la
fois) dans un fourmulaire.

Je voudrais que le sous-formulaire affiche l'enregistrement dont le champs
index correspond à une valeur donnée.

Merci d'avance



Avatar
defluc
Ok, C'est une astuce mais ce que j'aurais voulu c'est que la table du
sous-formulaire reste entière et que l'enregistrement en cours devienne
celui de la valeur donnée par le formulaire en faisant apparaître dans
la barre des boutons de déplacement du sous-formulaire «x sur y» et non
1 sur 1.

Mais après plusieurs heures de recherche, je ne trouve pas; alors je me
contenterai de ton astuce...

Raymond [mvp] a écrit:
Bonjour.

Utilise Filter et FilterOn pour déclarer un filtre dans ton sous-formulaire
:
Me.SF.Form.Filter = "[numéro] =" & Me.Numéro
Me.SF.Form.FilterOn = True
tu peux passer par forms!.........


Avatar
Raymond [mvp]
Utilises la fonction Findfirst si tu ne veux pas de filtre.

--
@+
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


"defluc" a écrit dans le message de news:

Ok, C'est une astuce mais ce que j'aurais voulu c'est que la table du
sous-formulaire reste entière et que l'enregistrement en cours devienne
celui de la valeur donnée par le formulaire en faisant apparaître dans la
barre des boutons de déplacement du sous-formulaire «x sur y» et non 1 sur
1.

Mais après plusieurs heures de recherche, je ne trouve pas; alors je me
contenterai de ton astuce...



Avatar
defluc
C'est bien ce que je voudrais mais FindFirst ne s'applique pas au
sous-formulaire et je ne vois pas comment l'appliquer au RecordSet
source du Sous-formulaire.

Raymond [mvp] a écrit:
Utilises la fonction Findfirst si tu ne veux pas de filtre.



Avatar
Raymond [mvp]
que me dis-tu ?

Dim Rs As DAO.Recordset
Set Rs = Forms!formulaire1!SF1.Form.Recordset
Rs.FindFirst "[numéro] = 65"
Set Rs = Nothing


--
@+
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


"defluc" a écrit dans le message de news:

C'est bien ce que je voudrais mais FindFirst ne s'applique pas au
sous-formulaire et je ne vois pas comment l'appliquer au RecordSet source
du Sous-formulaire.

Raymond [mvp] a écrit:
Utilises la fonction Findfirst si tu ne veux pas de filtre.






Avatar
defluc
J'ai essayé au bureau en Access 97 mais j'ai eu un message d'erreur.
Chez moi, en Access 2000 cela marche.
Je vais sauvegarder en 97 et réessayer demain.

Quoiqu'il en soit, merci à toi qui a réponse à tout

Luc

Raymond [mvp] a écrit:
que me dis-tu ?

Dim Rs As DAO.Recordset
Set Rs = Forms!formulaire1!SF1.Form.Recordset
Rs.FindFirst "[numéro] = 65"
Set Rs = Nothing