bonjour
apr=E8s quelques recherches infructueuses je me retourne =E0 nouveau vers
vous.
je souhaiterais par un double clic sur un champ (provenant d'un
formulaire d'accueil) faire un double filtre
dans un formulaire qui s'ouvre de la mani=E8re suivante :
Formulaire -> Controle onglets (4 onglets) -> un sous formulaire ds
chaque onglet -> un champ
Le formulaire est bas=E9 sur une table avec une cl=E9 primaire (Num auto)
le sous-formulaire du premier onglet idem sur une table avec une cl=E9
primaire (Num auto)
relation entre les deux par un champ de type Num=E9rique
J'arrive =E0 filtrer sur le formulaire, mais je ne parviens pas =E0
descendre jusqu'=E0 mon sous-formulaire
voici mon code :
Dim stock As Integer
Dim refer As Integer
stock =3D Me.ID_structure
refer =3D Me.ID_Ref
ID_structure = clé primaire de la table structure Nom-referent = clé primaire de la table referent (numérique meme si le nom pourrait sous-entendre le contraire)
le but c'est de filtrer le formulaire par structure (marche tres bien) et par la personne qui aura été sélectionnée ds le form précéde nt (refer) afin de filtrer le sous-formulaire et arriver directement sur son enregistrement
Exemple :
par l'action double clic je récupére les données stock : 47 refer : 125
et je filtre le formulaire et le sous-formulaire sur les données récupérées ID_structure : 47 Nom-referent : 125
désolé si je ne suis pas tres clair
BV
Bonjour,
Pas sur d'avoir tout compris ;-)
Il y a un probleme, à savoir que le champ qui suit le And doit être un champ de la table/requête sous-jacente au formulaire "F_Structure" et non une valeur du sous-form du controle onglet. Toutefois, ce champ de la table/Requête peut lui recevoir une valeur du sous-form du controle onglet.
Je proposerai: DoCmd.OpenForm "F_structure", acNormal, , "[ID_Structure] LIKE '" & stock & "*' And [Nom_Referent] like '" & [FORMS]![F_STRUCTURE]![CtlTab]![monsousformulaire]![Nom_referent] & "*'"
En supposant que Id_Structure est de type Texte. De plus, je ne suis pas sûr de la syntaxe [FORMS]![F_STRUCTURE]![CtlTab]![monsousformulaire]![Nom_referent] pour accéder au contenu du controle Nom_Referent se trouvant dans le sous-form du controle onglet. (A vérifier)
D'où la question : A quoi sert ? Dim refer As Integer refer = Me.ID_Ref
toujours le même message
quand je mets un point d'arret ds le code vba j'ai les bons ID (struture et référent)
... merci encore pour votre aide car j'essai de progresser en tatonnant en vba mais je dois avouer que ce n'est pas aussi limpide pour moi, alors que vous ......on dirait que c'est enfantin (côté frustrant de l'informatiqu e)
Quoi, j'ai pas droit à l'erreur ?
DoCmd.OpenForm "F_structure", acNormal, , "[ID_Structure] LIKE '" & st ock & "*' And " & [FORMS]![F_STRUCTURE]![CtlTab]![monsousformulaire]![Nom_referent] & " L IKE '" & refer & "*'"
J-Pierre
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl= fr
ID_structure = clé primaire de la table structure
Nom-referent = clé primaire de la table referent
(numérique meme si le nom pourrait sous-entendre le contraire)
le but c'est de filtrer le formulaire par structure (marche tres bien)
et par la personne qui aura été sélectionnée ds le form précéde nt
(refer)
afin de filtrer le sous-formulaire et arriver directement sur son
enregistrement
Exemple :
par l'action double clic je récupére les données
stock : 47
refer : 125
et je filtre le formulaire et le sous-formulaire sur les données
récupérées
ID_structure : 47
Nom-referent : 125
désolé si je ne suis pas tres clair
BV
Bonjour,
Pas sur d'avoir tout compris ;-)
Il y a un probleme, à savoir que le champ qui suit le And doit être un
champ de la table/requête sous-jacente au formulaire "F_Structure" et
non une valeur du sous-form du controle onglet. Toutefois, ce champ de
la table/Requête peut lui recevoir une valeur du sous-form du controle
onglet.
Je proposerai:
DoCmd.OpenForm "F_structure", acNormal, , "[ID_Structure] LIKE '" &
stock & "*' And [Nom_Referent] like '" &
[FORMS]![F_STRUCTURE]![CtlTab]![monsousformulaire]![Nom_referent] & "*'"
En supposant que Id_Structure est de type Texte.
De plus, je ne suis pas sûr de la syntaxe
[FORMS]![F_STRUCTURE]![CtlTab]![monsousformulaire]![Nom_referent] pour
accéder au contenu du controle Nom_Referent se trouvant dans le
sous-form du controle onglet. (A vérifier)
D'où la question : A quoi sert ?
Dim refer As Integer
refer = Me.ID_Ref
toujours le même message
quand je mets un point d'arret ds le code vba j'ai les bons ID
(struture et référent)
... merci encore pour votre aide car j'essai de progresser en tatonnant
en vba mais
je dois avouer que ce n'est pas aussi limpide pour moi, alors que vous
......on dirait que c'est enfantin (côté frustrant de l'informatiqu e)
Quoi, j'ai pas droit à l'erreur ?
DoCmd.OpenForm "F_structure", acNormal, , "[ID_Structure] LIKE '" & st ock & "*' And " &
[FORMS]![F_STRUCTURE]![CtlTab]![monsousformulaire]![Nom_referent] & " L IKE '" & refer & "*'"
J-Pierre
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl= fr
ID_structure = clé primaire de la table structure Nom-referent = clé primaire de la table referent (numérique meme si le nom pourrait sous-entendre le contraire)
le but c'est de filtrer le formulaire par structure (marche tres bien) et par la personne qui aura été sélectionnée ds le form précéde nt (refer) afin de filtrer le sous-formulaire et arriver directement sur son enregistrement
Exemple :
par l'action double clic je récupére les données stock : 47 refer : 125
et je filtre le formulaire et le sous-formulaire sur les données récupérées ID_structure : 47 Nom-referent : 125
désolé si je ne suis pas tres clair
BV
Bonjour,
Pas sur d'avoir tout compris ;-)
Il y a un probleme, à savoir que le champ qui suit le And doit être un champ de la table/requête sous-jacente au formulaire "F_Structure" et non une valeur du sous-form du controle onglet. Toutefois, ce champ de la table/Requête peut lui recevoir une valeur du sous-form du controle onglet.
Je proposerai: DoCmd.OpenForm "F_structure", acNormal, , "[ID_Structure] LIKE '" & stock & "*' And [Nom_Referent] like '" & [FORMS]![F_STRUCTURE]![CtlTab]![monsousformulaire]![Nom_referent] & "*'"
En supposant que Id_Structure est de type Texte. De plus, je ne suis pas sûr de la syntaxe [FORMS]![F_STRUCTURE]![CtlTab]![monsousformulaire]![Nom_referent] pour accéder au contenu du controle Nom_Referent se trouvant dans le sous-form du controle onglet. (A vérifier)
D'où la question : A quoi sert ? Dim refer As Integer refer = Me.ID_Ref
toujours le même message
quand je mets un point d'arret ds le code vba j'ai les bons ID (struture et référent)
... merci encore pour votre aide car j'essai de progresser en tatonnant en vba mais je dois avouer que ce n'est pas aussi limpide pour moi, alors que vous ......on dirait que c'est enfantin (côté frustrant de l'informatiqu e)
Quoi, j'ai pas droit à l'erreur ?
DoCmd.OpenForm "F_structure", acNormal, , "[ID_Structure] LIKE '" & st ock & "*' And " & [FORMS]![F_STRUCTURE]![CtlTab]![monsousformulaire]![Nom_referent] & " L IKE '" & refer & "*'"
J-Pierre
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl= fr
Eric
Re,
Je verrai un truc du genre (mais je ne sais pas si je vois clair ;-) ) Sur l'évènement double-click où tu récupères les données de ID_Structure et Nom_Referent (qui sont des numériques) un DoCmd.Openform avec clause Where et passage d'arguments (OpenArgs) ainsi: DoCmd.OpenForm "F_structure", acNormal, , "[ID_Structure]=" & stock, , , refer
(ps: il est possible de faire la même chose sans passer par tes variables qui, si elles correspondent à des NumAuto, devraient être déclarées en Long)
puis sur l'évènement Sur Chargement du sous-formulaire de l'onglet à filtrer: Private Sub Form_Load() If Not IsNull(Me.OpenArgs) Then ' on filtre le jeu Me.NomSousFormuliare.Form.Filter = "nom_Referent=" & CLng(Me.OpenArgs) Me.NomSousFormuliare.Form.FilterOn = True ' en supposant que le Sousformulaire à filtrer est sur la page 2 ' se positionner sur la page du controle onglet nommé CtlTab0 Me.CtlTab0.Pages(1).SetFocus End If End Sub
( A adapter pour les autres sous-form)
ID_structure = clé primaire de la table structure Nom-referent = clé primaire de la table referent (numérique meme si le nom pourrait sous-entendre le contraire)
le but c'est de filtrer le formulaire par structure (marche tres bien) et par la personne qui aura été sélectionnée ds le form précédent (refer) afin de filtrer le sous-formulaire et arriver directement sur son enregistrement
Exemple :
par l'action double clic je récupére les données stock : 47 refer : 125
et je filtre le formulaire et le sous-formulaire sur les données récupérées ID_structure : 47 Nom-referent : 125
désolé si je ne suis pas tres clair
BV
Bonjour,
Pas sur d'avoir tout compris ;-)
Il y a un probleme, à savoir que le champ qui suit le And doit être un champ de la table/requête sous-jacente au formulaire "F_Structure" et non une valeur du sous-form du controle onglet. Toutefois, ce champ de la table/Requête peut lui recevoir une valeur du sous-form du controle onglet.
Je proposerai: DoCmd.OpenForm "F_structure", acNormal, , "[ID_Structure] LIKE '" & stock & "*' And [Nom_Referent] like '" & [FORMS]![F_STRUCTURE]![CtlTab]![monsousformulaire]![Nom_referent] & "*'"
En supposant que Id_Structure est de type Texte. De plus, je ne suis pas sûr de la syntaxe [FORMS]![F_STRUCTURE]![CtlTab]![monsousformulaire]![Nom_referent] pour accéder au contenu du controle Nom_Referent se trouvant dans le sous-form du controle onglet. (A vérifier)
D'où la question : A quoi sert ? Dim refer As Integer refer = Me.ID_Ref
toujours le même message
quand je mets un point d'arret ds le code vba j'ai les bons ID (struture et référent)
... merci encore pour votre aide car j'essai de progresser en tatonnant en vba mais je dois avouer que ce n'est pas aussi limpide pour moi, alors que vous ......on dirait que c'est enfantin (côté frustrant de l'informatique)
Quoi, j'ai pas droit à l'erreur ?
DoCmd.OpenForm "F_structure", acNormal, , "[ID_Structure] LIKE '" & stock & "*' And " & [FORMS]![F_STRUCTURE]![CtlTab]![monsousformulaire]![Nom_referent] & " LIKE '" & refer & "*'"
J-Pierre
--
A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Re,
Je verrai un truc du genre (mais je ne sais pas si je vois clair ;-) )
Sur l'évènement double-click où tu récupères les données de ID_Structure
et Nom_Referent (qui sont des numériques)
un DoCmd.Openform avec clause Where et passage d'arguments (OpenArgs) ainsi:
DoCmd.OpenForm "F_structure", acNormal, , "[ID_Structure]=" & stock, , ,
refer
(ps: il est possible de faire la même chose sans passer par tes
variables qui, si elles correspondent à des NumAuto, devraient être
déclarées en Long)
puis sur l'évènement Sur Chargement du sous-formulaire de l'onglet à
filtrer:
Private Sub Form_Load()
If Not IsNull(Me.OpenArgs) Then ' on filtre le jeu
Me.NomSousFormuliare.Form.Filter = "nom_Referent=" &
CLng(Me.OpenArgs)
Me.NomSousFormuliare.Form.FilterOn = True
' en supposant que le Sousformulaire à filtrer est sur la page 2
' se positionner sur la page du controle onglet nommé CtlTab0
Me.CtlTab0.Pages(1).SetFocus
End If
End Sub
( A adapter pour les autres sous-form)
ID_structure = clé primaire de la table structure
Nom-referent = clé primaire de la table referent
(numérique meme si le nom pourrait sous-entendre le contraire)
le but c'est de filtrer le formulaire par structure (marche tres bien)
et par la personne qui aura été sélectionnée ds le form précédent
(refer)
afin de filtrer le sous-formulaire et arriver directement sur son
enregistrement
Exemple :
par l'action double clic je récupére les données
stock : 47
refer : 125
et je filtre le formulaire et le sous-formulaire sur les données
récupérées
ID_structure : 47
Nom-referent : 125
désolé si je ne suis pas tres clair
BV
Bonjour,
Pas sur d'avoir tout compris ;-)
Il y a un probleme, à savoir que le champ qui suit le And doit être un
champ de la table/requête sous-jacente au formulaire "F_Structure" et
non une valeur du sous-form du controle onglet. Toutefois, ce champ de
la table/Requête peut lui recevoir une valeur du sous-form du controle
onglet.
Je proposerai:
DoCmd.OpenForm "F_structure", acNormal, , "[ID_Structure] LIKE '" &
stock & "*' And [Nom_Referent] like '" &
[FORMS]![F_STRUCTURE]![CtlTab]![monsousformulaire]![Nom_referent] & "*'"
En supposant que Id_Structure est de type Texte.
De plus, je ne suis pas sûr de la syntaxe
[FORMS]![F_STRUCTURE]![CtlTab]![monsousformulaire]![Nom_referent] pour
accéder au contenu du controle Nom_Referent se trouvant dans le
sous-form du controle onglet. (A vérifier)
D'où la question : A quoi sert ?
Dim refer As Integer
refer = Me.ID_Ref
toujours le même message
quand je mets un point d'arret ds le code vba j'ai les bons ID
(struture et référent)
... merci encore pour votre aide car j'essai de progresser en tatonnant
en vba mais
je dois avouer que ce n'est pas aussi limpide pour moi, alors que vous
......on dirait que c'est enfantin (côté frustrant de l'informatique)
Quoi, j'ai pas droit à l'erreur ?
DoCmd.OpenForm "F_structure", acNormal, , "[ID_Structure] LIKE '" & stock & "*' And " &
[FORMS]![F_STRUCTURE]![CtlTab]![monsousformulaire]![Nom_referent] & " LIKE '" & refer & "*'"
J-Pierre
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Je verrai un truc du genre (mais je ne sais pas si je vois clair ;-) ) Sur l'évènement double-click où tu récupères les données de ID_Structure et Nom_Referent (qui sont des numériques) un DoCmd.Openform avec clause Where et passage d'arguments (OpenArgs) ainsi: DoCmd.OpenForm "F_structure", acNormal, , "[ID_Structure]=" & stock, , , refer
(ps: il est possible de faire la même chose sans passer par tes variables qui, si elles correspondent à des NumAuto, devraient être déclarées en Long)
puis sur l'évènement Sur Chargement du sous-formulaire de l'onglet à filtrer: Private Sub Form_Load() If Not IsNull(Me.OpenArgs) Then ' on filtre le jeu Me.NomSousFormuliare.Form.Filter = "nom_Referent=" & CLng(Me.OpenArgs) Me.NomSousFormuliare.Form.FilterOn = True ' en supposant que le Sousformulaire à filtrer est sur la page 2 ' se positionner sur la page du controle onglet nommé CtlTab0 Me.CtlTab0.Pages(1).SetFocus End If End Sub
( A adapter pour les autres sous-form)
ID_structure = clé primaire de la table structure Nom-referent = clé primaire de la table referent (numérique meme si le nom pourrait sous-entendre le contraire)
le but c'est de filtrer le formulaire par structure (marche tres bien) et par la personne qui aura été sélectionnée ds le form précédent (refer) afin de filtrer le sous-formulaire et arriver directement sur son enregistrement
Exemple :
par l'action double clic je récupére les données stock : 47 refer : 125
et je filtre le formulaire et le sous-formulaire sur les données récupérées ID_structure : 47 Nom-referent : 125
désolé si je ne suis pas tres clair
BV
Bonjour,
Pas sur d'avoir tout compris ;-)
Il y a un probleme, à savoir que le champ qui suit le And doit être un champ de la table/requête sous-jacente au formulaire "F_Structure" et non une valeur du sous-form du controle onglet. Toutefois, ce champ de la table/Requête peut lui recevoir une valeur du sous-form du controle onglet.
Je proposerai: DoCmd.OpenForm "F_structure", acNormal, , "[ID_Structure] LIKE '" & stock & "*' And [Nom_Referent] like '" & [FORMS]![F_STRUCTURE]![CtlTab]![monsousformulaire]![Nom_referent] & "*'"
En supposant que Id_Structure est de type Texte. De plus, je ne suis pas sûr de la syntaxe [FORMS]![F_STRUCTURE]![CtlTab]![monsousformulaire]![Nom_referent] pour accéder au contenu du controle Nom_Referent se trouvant dans le sous-form du controle onglet. (A vérifier)
D'où la question : A quoi sert ? Dim refer As Integer refer = Me.ID_Ref
toujours le même message
quand je mets un point d'arret ds le code vba j'ai les bons ID (struture et référent)
... merci encore pour votre aide car j'essai de progresser en tatonnant en vba mais je dois avouer que ce n'est pas aussi limpide pour moi, alors que vous ......on dirait que c'est enfantin (côté frustrant de l'informatique)
Quoi, j'ai pas droit à l'erreur ?
DoCmd.OpenForm "F_structure", acNormal, , "[ID_Structure] LIKE '" & stock & "*' And " & [FORMS]![F_STRUCTURE]![CtlTab]![monsousformulaire]![Nom_referent] & " LIKE '" & refer & "*'"
J-Pierre
--
A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Eric
Erreur !!!
lire : puis sur l'évènement Sur Chargement du formulaire avec le controle Onglet contenant le sous-form à filtrer (donc F_structure)
au lieu de :
puis sur l'évènement Sur Chargement du sous-formulaire de l'onglet à filtrer
Re,
Je verrai un truc du genre (mais je ne sais pas si je vois clair ;-) ) Sur l'évènement double-click où tu récupères les données de ID_Structure et Nom_Referent (qui sont des numériques) un DoCmd.Openform avec clause Where et passage d'arguments (OpenArgs) ainsi: DoCmd.OpenForm "F_structure", acNormal, , "[ID_Structure]=" & stock, , , refer
(ps: il est possible de faire la même chose sans passer par tes variables qui, si elles correspondent à des NumAuto, devraient être déclarées en Long)
puis sur l'évènement Sur Chargement du sous-formulaire de l'onglet à filtrer: Private Sub Form_Load() If Not IsNull(Me.OpenArgs) Then ' on filtre le jeu Me.NomSousFormuliare.Form.Filter = "nom_Referent=" & CLng(Me.OpenArgs) Me.NomSousFormuliare.Form.FilterOn = True ' en supposant que le Sousformulaire à filtrer est sur la page 2 ' se positionner sur la page du controle onglet nommé CtlTab0 Me.CtlTab0.Pages(1).SetFocus End If End Sub
( A adapter pour les autres sous-form)
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Erreur !!!
lire :
puis sur l'évènement Sur Chargement du formulaire avec le controle
Onglet contenant le sous-form à filtrer (donc F_structure)
au lieu de :
puis sur l'évènement Sur Chargement du sous-formulaire de l'onglet à filtrer
Re,
Je verrai un truc du genre (mais je ne sais pas si je vois clair ;-) )
Sur l'évènement double-click où tu récupères les données de ID_Structure
et Nom_Referent (qui sont des numériques)
un DoCmd.Openform avec clause Where et passage d'arguments (OpenArgs)
ainsi:
DoCmd.OpenForm "F_structure", acNormal, , "[ID_Structure]=" & stock, , ,
refer
(ps: il est possible de faire la même chose sans passer par tes
variables qui, si elles correspondent à des NumAuto, devraient être
déclarées en Long)
puis sur l'évènement Sur Chargement du sous-formulaire de l'onglet à
filtrer:
Private Sub Form_Load()
If Not IsNull(Me.OpenArgs) Then ' on filtre le jeu
Me.NomSousFormuliare.Form.Filter = "nom_Referent=" &
CLng(Me.OpenArgs)
Me.NomSousFormuliare.Form.FilterOn = True
' en supposant que le Sousformulaire à filtrer est sur la page 2
' se positionner sur la page du controle onglet nommé CtlTab0
Me.CtlTab0.Pages(1).SetFocus
End If
End Sub
( A adapter pour les autres sous-form)
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
lire : puis sur l'évènement Sur Chargement du formulaire avec le controle Onglet contenant le sous-form à filtrer (donc F_structure)
au lieu de :
puis sur l'évènement Sur Chargement du sous-formulaire de l'onglet à filtrer
Re,
Je verrai un truc du genre (mais je ne sais pas si je vois clair ;-) ) Sur l'évènement double-click où tu récupères les données de ID_Structure et Nom_Referent (qui sont des numériques) un DoCmd.Openform avec clause Where et passage d'arguments (OpenArgs) ainsi: DoCmd.OpenForm "F_structure", acNormal, , "[ID_Structure]=" & stock, , , refer
(ps: il est possible de faire la même chose sans passer par tes variables qui, si elles correspondent à des NumAuto, devraient être déclarées en Long)
puis sur l'évènement Sur Chargement du sous-formulaire de l'onglet à filtrer: Private Sub Form_Load() If Not IsNull(Me.OpenArgs) Then ' on filtre le jeu Me.NomSousFormuliare.Form.Filter = "nom_Referent=" & CLng(Me.OpenArgs) Me.NomSousFormuliare.Form.FilterOn = True ' en supposant que le Sousformulaire à filtrer est sur la page 2 ' se positionner sur la page du controle onglet nommé CtlTab0 Me.CtlTab0.Pages(1).SetFocus End If End Sub
( A adapter pour les autres sous-form)
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
valenza
Bonjour eric et merci pour votre réponse
j'ai essayé votre solution je n'ai plus le message d'erreur, la structure est bien filtrée mais pas le sous-formulaire
j'essaie de faire des tests à partir de votre code
merci
BV
Erreur !!!
lire : puis sur l'évènement Sur Chargement du formulaire avec le controle Onglet contenant le sous-form à filtrer (donc F_structure)
au lieu de :
puis sur l'évènement Sur Chargement du sous-formulaire de l'onglet à filtrer
Re,
Je verrai un truc du genre (mais je ne sais pas si je vois clair ;-) ) Sur l'évènement double-click où tu récupères les données de ID_Structure et Nom_Referent (qui sont des numériques) un DoCmd.Openform avec clause Where et passage d'arguments (OpenArgs) ainsi: DoCmd.OpenForm "F_structure", acNormal, , "[ID_Structure]=" & stock, , , refer
(ps: il est possible de faire la même chose sans passer par tes variables qui, si elles correspondent à des NumAuto, devraient être déclarées en Long)
puis sur l'évènement Sur Chargement du sous-formulaire de l'onglet à filtrer: Private Sub Form_Load() If Not IsNull(Me.OpenArgs) Then ' on filtre le jeu Me.NomSousFormuliare.Form.Filter = "nom_Referent=" & CLng(Me.OpenArgs) Me.NomSousFormuliare.Form.FilterOn = True ' en supposant que le Sousformulaire à filtrer est sur la pag e 2 ' se positionner sur la page du controle onglet nommé CtlTab0 Me.CtlTab0.Pages(1).SetFocus End If End Sub
( A adapter pour les autres sous-form)
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl= fr
Bonjour eric et merci pour votre réponse
j'ai essayé votre solution
je n'ai plus le message d'erreur, la structure est bien filtrée mais
pas le sous-formulaire
j'essaie de faire des tests à partir de votre code
merci
BV
Erreur !!!
lire :
puis sur l'évènement Sur Chargement du formulaire avec le controle
Onglet contenant le sous-form à filtrer (donc F_structure)
au lieu de :
puis sur l'évènement Sur Chargement du sous-formulaire de l'onglet à filtrer
Re,
Je verrai un truc du genre (mais je ne sais pas si je vois clair ;-) )
Sur l'évènement double-click où tu récupères les données de ID_Structure
et Nom_Referent (qui sont des numériques)
un DoCmd.Openform avec clause Where et passage d'arguments (OpenArgs)
ainsi:
DoCmd.OpenForm "F_structure", acNormal, , "[ID_Structure]=" & stock, , ,
refer
(ps: il est possible de faire la même chose sans passer par tes
variables qui, si elles correspondent à des NumAuto, devraient être
déclarées en Long)
puis sur l'évènement Sur Chargement du sous-formulaire de l'onglet à
filtrer:
Private Sub Form_Load()
If Not IsNull(Me.OpenArgs) Then ' on filtre le jeu
Me.NomSousFormuliare.Form.Filter = "nom_Referent=" &
CLng(Me.OpenArgs)
Me.NomSousFormuliare.Form.FilterOn = True
' en supposant que le Sousformulaire à filtrer est sur la pag e 2
' se positionner sur la page du controle onglet nommé CtlTab0
Me.CtlTab0.Pages(1).SetFocus
End If
End Sub
( A adapter pour les autres sous-form)
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl= fr
j'ai essayé votre solution je n'ai plus le message d'erreur, la structure est bien filtrée mais pas le sous-formulaire
j'essaie de faire des tests à partir de votre code
merci
BV
Erreur !!!
lire : puis sur l'évènement Sur Chargement du formulaire avec le controle Onglet contenant le sous-form à filtrer (donc F_structure)
au lieu de :
puis sur l'évènement Sur Chargement du sous-formulaire de l'onglet à filtrer
Re,
Je verrai un truc du genre (mais je ne sais pas si je vois clair ;-) ) Sur l'évènement double-click où tu récupères les données de ID_Structure et Nom_Referent (qui sont des numériques) un DoCmd.Openform avec clause Where et passage d'arguments (OpenArgs) ainsi: DoCmd.OpenForm "F_structure", acNormal, , "[ID_Structure]=" & stock, , , refer
(ps: il est possible de faire la même chose sans passer par tes variables qui, si elles correspondent à des NumAuto, devraient être déclarées en Long)
puis sur l'évènement Sur Chargement du sous-formulaire de l'onglet à filtrer: Private Sub Form_Load() If Not IsNull(Me.OpenArgs) Then ' on filtre le jeu Me.NomSousFormuliare.Form.Filter = "nom_Referent=" & CLng(Me.OpenArgs) Me.NomSousFormuliare.Form.FilterOn = True ' en supposant que le Sousformulaire à filtrer est sur la pag e 2 ' se positionner sur la page du controle onglet nommé CtlTab0 Me.CtlTab0.Pages(1).SetFocus End If End Sub
( A adapter pour les autres sous-form)
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl= fr
Eric
Bonjour,
Ca ne marche que si le formulaire à ouvrir et donc à filtrer est fermé. Un exemple très simplifié ici : http://cjoint.com/?lirGynznI3 (qui ne tient pas compte de vos formulaires et noms des champs) mais qui respecte le principe, je pense. Le code se trouve dans les modules asociés aux formulaires.
Bonjour eric et merci pour votre réponse
j'ai essayé votre solution je n'ai plus le message d'erreur, la structure est bien filtrée mais pas le sous-formulaire
j'essaie de faire des tests à partir de votre code
merci
BV
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
Ca ne marche que si le formulaire à ouvrir et donc à filtrer est fermé.
Un exemple très simplifié ici : http://cjoint.com/?lirGynznI3 (qui ne
tient pas compte de vos formulaires et noms des champs) mais qui
respecte le principe, je pense. Le code se trouve dans les modules
asociés aux formulaires.
Bonjour eric et merci pour votre réponse
j'ai essayé votre solution
je n'ai plus le message d'erreur, la structure est bien filtrée mais
pas le sous-formulaire
j'essaie de faire des tests à partir de votre code
merci
BV
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Ca ne marche que si le formulaire à ouvrir et donc à filtrer est fermé. Un exemple très simplifié ici : http://cjoint.com/?lirGynznI3 (qui ne tient pas compte de vos formulaires et noms des champs) mais qui respecte le principe, je pense. Le code se trouve dans les modules asociés aux formulaires.
Bonjour eric et merci pour votre réponse
j'ai essayé votre solution je n'ai plus le message d'erreur, la structure est bien filtrée mais pas le sous-formulaire
j'essaie de faire des tests à partir de votre code
merci
BV
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
valenza
bonjour
merci beaucoup pour votre réponse je vais faire en quelque sorte un mix des deux sur le double clic je vais demander à fermer le formulaire avant de lancer la procédure et on verra bien, sinon si ca me bloque encore, je ferai apparaitre le sous-formulaire en popup
merci encore pour votre aide
Bonne journée
BV
bonjour
merci beaucoup pour votre réponse
je vais faire en quelque sorte un mix des deux
sur le double clic je vais demander à fermer le formulaire avant de
lancer la procédure
et on verra bien, sinon si ca me bloque encore, je ferai apparaitre le
sous-formulaire
en popup
merci beaucoup pour votre réponse je vais faire en quelque sorte un mix des deux sur le double clic je vais demander à fermer le formulaire avant de lancer la procédure et on verra bien, sinon si ca me bloque encore, je ferai apparaitre le sous-formulaire en popup