Bonjour =E0 tous et toutes et meilleurs voeux 2008.
Je souhaiterais imprimer un =E9tat en cliquant sur un bouton plac=E9 dans
un formulaire. Tous les champs du formulaire sont repris dans l'=E9tat
et j'en suis =E0:
# bouton formulaire (dont le nom est Questionnaire):
Private Sub Commande215_MouseDown(Button As Integer, Shift As Integer,
X As Single, Y As Single)
DoCmd.ApplyFilter , "name =3D 'good news'"
DoCmd.OpenReport "=C9tat1", acViewPreview
End Sub
# sur ouverture de l'=E9tat (dont le nom est Etat1):
Private Sub Report_Open(Cancel As Integer)
Me.Filter =3D Forms![Questionnaire].Filter
Me.FilterOn =3D True
End Sub
En fait, dans la ligne
DoCmd.ApplyFilter , "name =3D 'good news'"
je souhaiterais me d=E9barrasser de "name =3D 'good news'" et que lors de
l'appui sur le bouton du formulaire il y ait simulation d'un filtre
s=E9lection quel que soit ce qui est contenu dans le champs [name]. En
fait, quand j'enl=E8ve cette ligne et que je filtre "=E0 la main",
j'obtiens exactement l'=E9tat qui me convient. La question est: comment
coder ceci en VBA?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fabien
Bonjour à tous et toutes et meilleurs voeux 2008.
Je souhaiterais imprimer un état en cliquant sur un bouton placé dans un formulaire. Tous les champs du formulaire sont repris dans l'état et j'en suis à:
# bouton formulaire (dont le nom est Questionnaire):
Private Sub Commande215_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) DoCmd.ApplyFilter , "name = 'good news'" DoCmd.OpenReport "État1", acViewPreview End Sub
# sur ouverture de l'état (dont le nom est Etat1):
Private Sub Report_Open(Cancel As Integer) Me.Filter = Forms![Questionnaire].Filter Me.FilterOn = True End Sub
En fait, dans la ligne DoCmd.ApplyFilter , "name = 'good news'" je souhaiterais me débarrasser de "name = 'good news'" et que lors de l'appui sur le bouton du formulaire il y ait simulation d'un filtre sélection quel que soit ce qui est contenu dans le champs [name]. En fait, quand j'enlève cette ligne et que je filtre "à la main", j'obtiens exactement l'état qui me convient. La question est: comment coder ceci en VBA?
Merci d'avance pour toutes réponses.
Pascal Salut Pascal
Je suis pas sûr d'avoir tout pigé mais je pense qu'avec un Private Sub Commande215_MouseDown(Button As Integer, Shift As Integer,
X As Single, Y As Single) 'Tu filtre ton formulaire
Me.filter="[Name]='" & [Champsfiltre] & "'" Me.filterOn = true 'Puis tu appel l'ouverture de ton état en lui passant le même filtre DoCmd.OpenReport "État1", acViewPreview,,"[Name]='" & [Champsfiltre] & "'" End Sub
et La Sub # sur ouverture de l'état (dont le nom est Etat1):
Private Sub Report_Open(Cancel As Integer) Me.Filter = Forms![Questionnaire].Filter Me.FilterOn = True End Sub N'est plus utile
ça doit faire ce que tu veux. Voilà
Bonjour à tous et toutes et meilleurs voeux 2008.
Je souhaiterais imprimer un état en cliquant sur un bouton placé dans
un formulaire. Tous les champs du formulaire sont repris dans l'état
et j'en suis à:
# bouton formulaire (dont le nom est Questionnaire):
Private Sub Commande215_MouseDown(Button As Integer, Shift As Integer,
X As Single, Y As Single)
DoCmd.ApplyFilter , "name = 'good news'"
DoCmd.OpenReport "État1", acViewPreview
End Sub
# sur ouverture de l'état (dont le nom est Etat1):
Private Sub Report_Open(Cancel As Integer)
Me.Filter = Forms![Questionnaire].Filter
Me.FilterOn = True
End Sub
En fait, dans la ligne
DoCmd.ApplyFilter , "name = 'good news'"
je souhaiterais me débarrasser de "name = 'good news'" et que lors de
l'appui sur le bouton du formulaire il y ait simulation d'un filtre
sélection quel que soit ce qui est contenu dans le champs [name]. En
fait, quand j'enlève cette ligne et que je filtre "à la main",
j'obtiens exactement l'état qui me convient. La question est: comment
coder ceci en VBA?
Merci d'avance pour toutes réponses.
Pascal
Salut Pascal
Je suis pas sûr d'avoir tout pigé mais je pense qu'avec un
Private Sub Commande215_MouseDown(Button As Integer, Shift As Integer,
X As Single, Y As Single)
'Tu filtre ton formulaire
Me.filter="[Name]='" & [Champsfiltre] & "'"
Me.filterOn = true
'Puis tu appel l'ouverture de ton état en lui passant le même filtre
DoCmd.OpenReport "État1", acViewPreview,,"[Name]='" & [Champsfiltre] & "'"
End Sub
et
La Sub
# sur ouverture de l'état (dont le nom est Etat1):
Private Sub Report_Open(Cancel As Integer)
Me.Filter = Forms![Questionnaire].Filter
Me.FilterOn = True
End Sub
N'est plus utile
Je souhaiterais imprimer un état en cliquant sur un bouton placé dans un formulaire. Tous les champs du formulaire sont repris dans l'état et j'en suis à:
# bouton formulaire (dont le nom est Questionnaire):
Private Sub Commande215_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) DoCmd.ApplyFilter , "name = 'good news'" DoCmd.OpenReport "État1", acViewPreview End Sub
# sur ouverture de l'état (dont le nom est Etat1):
Private Sub Report_Open(Cancel As Integer) Me.Filter = Forms![Questionnaire].Filter Me.FilterOn = True End Sub
En fait, dans la ligne DoCmd.ApplyFilter , "name = 'good news'" je souhaiterais me débarrasser de "name = 'good news'" et que lors de l'appui sur le bouton du formulaire il y ait simulation d'un filtre sélection quel que soit ce qui est contenu dans le champs [name]. En fait, quand j'enlève cette ligne et que je filtre "à la main", j'obtiens exactement l'état qui me convient. La question est: comment coder ceci en VBA?
Merci d'avance pour toutes réponses.
Pascal Salut Pascal
Je suis pas sûr d'avoir tout pigé mais je pense qu'avec un Private Sub Commande215_MouseDown(Button As Integer, Shift As Integer,
X As Single, Y As Single) 'Tu filtre ton formulaire
Me.filter="[Name]='" & [Champsfiltre] & "'" Me.filterOn = true 'Puis tu appel l'ouverture de ton état en lui passant le même filtre DoCmd.OpenReport "État1", acViewPreview,,"[Name]='" & [Champsfiltre] & "'" End Sub
et La Sub # sur ouverture de l'état (dont le nom est Etat1):
Private Sub Report_Open(Cancel As Integer) Me.Filter = Forms![Questionnaire].Filter Me.FilterOn = True End Sub N'est plus utile
ça doit faire ce que tu veux. Voilà
pascallerudulier
Salut Fabien,
Merci pour ta contribution. Cependant ce n'est pas ce que je souhaite. En fait ton [Champsfiltre] suppose que je sais ce sur quoi je voudrais filtrer or ce n'est pas le cas. Il s'agit de simuler ce que j'effectue à la main: 1 - je fais défiler tous les formulaires (en faisant usage de la roulette ou avec les flèches de défilement). 2 - je m'arrête sur l'un, je clique sur un champ (en l'occurrence ici [name]) et je filtre la sélection (clique sur la bouton avec l'icône ressemblant à un entonnoir et un éclair). 3 - je clique sur le bouton mentionné plus avant, ce qui génère l'ét at voulu.
c'est la partie (2) que je voudrais mettre en code de façon à ce que lorsque je clique sur le bouton (3) placé sur le formulaire, celui-ci simule le filtre sélection et appelle l'état. On voit donc bien ici que je ne peux pas savoir quelle valeur peut avoir ce champs.
Pour avoir lu beaucoup de billets je me rends compte que ce n'est jamais facile d'expliquer quelque chose qui pour soi parait tellement évident. C'est d'autant plus frustrant qu'on ne peut pas faire de copie d'écran sur ce groupe. J'espère toutefois, avec l'exemple ci-dessus, avoir été plus clair.
Merci pour toutes aides,
Pascal
Salut Pascal Je suis pas sûr d'avoir tout pigé mais je pense qu'avec un Private Sub Commande215_MouseDown(Button As Integer, Shift As Integer,
X As Single, Y As Single) 'Tu filtre ton formulaire
Me.filter="[Name]='" & [Champsfiltre] & "'" Me.filterOn = true 'Puis tu appel l'ouverture de ton état en lui passant le même filtre DoCmd.OpenReport "État1", acViewPreview,,"[Name]='" & [Champsf iltre] & "'" End Sub
et La Sub # sur ouverture de l'état (dont le nom est Etat1):
Private Sub Report_Open(Cancel As Integer) Me.Filter = Forms![Questionnaire].Filter Me.FilterOn = True End Sub N'est plus utile
ça doit faire ce que tu veux. Voilà
Salut Fabien,
Merci pour ta contribution. Cependant ce n'est pas ce que je
souhaite. En fait ton [Champsfiltre] suppose que je sais ce sur quoi
je voudrais filtrer or ce n'est pas le cas.
Il s'agit de simuler ce que j'effectue à la main:
1 - je fais défiler tous les formulaires (en faisant usage de la
roulette ou avec les flèches de défilement).
2 - je m'arrête sur l'un, je clique sur un champ (en l'occurrence ici
[name]) et je filtre la sélection (clique sur la bouton avec l'icône
ressemblant à un entonnoir et un éclair).
3 - je clique sur le bouton mentionné plus avant, ce qui génère l'ét at
voulu.
c'est la partie (2) que je voudrais mettre en code de façon à ce que
lorsque je clique sur le bouton (3) placé sur le formulaire, celui-ci
simule le filtre sélection et appelle l'état. On voit donc bien ici
que je ne peux pas savoir quelle valeur peut avoir ce champs.
Pour avoir lu beaucoup de billets je me rends compte que ce n'est
jamais facile d'expliquer quelque chose qui pour soi parait tellement
évident. C'est d'autant plus frustrant qu'on ne peut pas faire de
copie d'écran sur ce groupe.
J'espère toutefois, avec l'exemple ci-dessus, avoir été plus clair.
Merci pour toutes aides,
Pascal
Salut Pascal
Je suis pas sûr d'avoir tout pigé mais je pense qu'avec un
Private Sub Commande215_MouseDown(Button As Integer, Shift As Integer,
X As Single, Y As Single)
'Tu filtre ton formulaire
Me.filter="[Name]='" & [Champsfiltre] & "'"
Me.filterOn = true
'Puis tu appel l'ouverture de ton état en lui passant le même filtre
DoCmd.OpenReport "État1", acViewPreview,,"[Name]='" & [Champsf iltre] & "'"
End Sub
et
La Sub
# sur ouverture de l'état (dont le nom est Etat1):
Private Sub Report_Open(Cancel As Integer)
Me.Filter = Forms![Questionnaire].Filter
Me.FilterOn = True
End Sub
N'est plus utile
Merci pour ta contribution. Cependant ce n'est pas ce que je souhaite. En fait ton [Champsfiltre] suppose que je sais ce sur quoi je voudrais filtrer or ce n'est pas le cas. Il s'agit de simuler ce que j'effectue à la main: 1 - je fais défiler tous les formulaires (en faisant usage de la roulette ou avec les flèches de défilement). 2 - je m'arrête sur l'un, je clique sur un champ (en l'occurrence ici [name]) et je filtre la sélection (clique sur la bouton avec l'icône ressemblant à un entonnoir et un éclair). 3 - je clique sur le bouton mentionné plus avant, ce qui génère l'ét at voulu.
c'est la partie (2) que je voudrais mettre en code de façon à ce que lorsque je clique sur le bouton (3) placé sur le formulaire, celui-ci simule le filtre sélection et appelle l'état. On voit donc bien ici que je ne peux pas savoir quelle valeur peut avoir ce champs.
Pour avoir lu beaucoup de billets je me rends compte que ce n'est jamais facile d'expliquer quelque chose qui pour soi parait tellement évident. C'est d'autant plus frustrant qu'on ne peut pas faire de copie d'écran sur ce groupe. J'espère toutefois, avec l'exemple ci-dessus, avoir été plus clair.
Merci pour toutes aides,
Pascal
Salut Pascal Je suis pas sûr d'avoir tout pigé mais je pense qu'avec un Private Sub Commande215_MouseDown(Button As Integer, Shift As Integer,
X As Single, Y As Single) 'Tu filtre ton formulaire
Me.filter="[Name]='" & [Champsfiltre] & "'" Me.filterOn = true 'Puis tu appel l'ouverture de ton état en lui passant le même filtre DoCmd.OpenReport "État1", acViewPreview,,"[Name]='" & [Champsf iltre] & "'" End Sub
et La Sub # sur ouverture de l'état (dont le nom est Etat1):
Private Sub Report_Open(Cancel As Integer) Me.Filter = Forms![Questionnaire].Filter Me.FilterOn = True End Sub N'est plus utile
ça doit faire ce que tu veux. Voilà
Fabien
Salut Fabien,
Merci pour ta contribution. Cependant ce n'est pas ce que je souhaite. En fait ton [Champsfiltre] suppose que je sais ce sur quoi je voudrais filtrer or ce n'est pas le cas. Il s'agit de simuler ce que j'effectue à la main: 1 - je fais défiler tous les formulaires (en faisant usage de la roulette ou avec les flèches de défilement). 2 - je m'arrête sur l'un, je clique sur un champ (en l'occurrence ici [name]) et je filtre la sélection (clique sur la bouton avec l'icône ressemblant à un entonnoir et un éclair). 3 - je clique sur le bouton mentionné plus avant, ce qui génère l'état voulu.
c'est la partie (2) que je voudrais mettre en code de façon à ce que lorsque je clique sur le bouton (3) placé sur le formulaire, celui-ci simule le filtre sélection et appelle l'état. On voit donc bien ici que je ne peux pas savoir quelle valeur peut avoir ce champs.
Pour avoir lu beaucoup de billets je me rends compte que ce n'est jamais facile d'expliquer quelque chose qui pour soi parait tellement évident. C'est d'autant plus frustrant qu'on ne peut pas faire de copie d'écran sur ce groupe. J'espère toutefois, avec l'exemple ci-dessus, avoir été plus clair.
Merci pour toutes aides,
Pascal
Salut Pascal Je suis pas sûr d'avoir tout pigé mais je pense qu'avec un Private Sub Commande215_MouseDown(Button As Integer, Shift As Integer,
X As Single, Y As Single) 'Tu filtre ton formulaire
Me.filter="[Name]='" & [Champsfiltre] & "'" Me.filterOn = true 'Puis tu appel l'ouverture de ton état en lui passant le même filtre DoCmd.OpenReport "État1", acViewPreview,,"[Name]='" & [Champsfiltre] & "'" End Sub
et La Sub # sur ouverture de l'état (dont le nom est Etat1):
Private Sub Report_Open(Cancel As Integer) Me.Filter = Forms![Questionnaire].Filter Me.FilterOn = True End Sub N'est plus utile
ça doit faire ce que tu veux. Voilà
Effectivement j'avais mal compris ton besoin.
En cas, des copies d'écrans peuvent être jointes en utilisant www.cjoint.com ;-) @+
Salut Fabien,
Merci pour ta contribution. Cependant ce n'est pas ce que je
souhaite. En fait ton [Champsfiltre] suppose que je sais ce sur quoi
je voudrais filtrer or ce n'est pas le cas.
Il s'agit de simuler ce que j'effectue à la main:
1 - je fais défiler tous les formulaires (en faisant usage de la
roulette ou avec les flèches de défilement).
2 - je m'arrête sur l'un, je clique sur un champ (en l'occurrence ici
[name]) et je filtre la sélection (clique sur la bouton avec l'icône
ressemblant à un entonnoir et un éclair).
3 - je clique sur le bouton mentionné plus avant, ce qui génère l'état
voulu.
c'est la partie (2) que je voudrais mettre en code de façon à ce que
lorsque je clique sur le bouton (3) placé sur le formulaire, celui-ci
simule le filtre sélection et appelle l'état. On voit donc bien ici
que je ne peux pas savoir quelle valeur peut avoir ce champs.
Pour avoir lu beaucoup de billets je me rends compte que ce n'est
jamais facile d'expliquer quelque chose qui pour soi parait tellement
évident. C'est d'autant plus frustrant qu'on ne peut pas faire de
copie d'écran sur ce groupe.
J'espère toutefois, avec l'exemple ci-dessus, avoir été plus clair.
Merci pour toutes aides,
Pascal
Salut Pascal
Je suis pas sûr d'avoir tout pigé mais je pense qu'avec un
Private Sub Commande215_MouseDown(Button As Integer, Shift As Integer,
X As Single, Y As Single)
'Tu filtre ton formulaire
Me.filter="[Name]='" & [Champsfiltre] & "'"
Me.filterOn = true
'Puis tu appel l'ouverture de ton état en lui passant le même filtre
DoCmd.OpenReport "État1", acViewPreview,,"[Name]='" & [Champsfiltre] & "'"
End Sub
et
La Sub
# sur ouverture de l'état (dont le nom est Etat1):
Private Sub Report_Open(Cancel As Integer)
Me.Filter = Forms![Questionnaire].Filter
Me.FilterOn = True
End Sub
N'est plus utile
ça doit faire ce que tu veux.
Voilà
Effectivement j'avais mal compris ton besoin.
En cas, des copies d'écrans peuvent être jointes en utilisant
www.cjoint.com ;-)
@+
Merci pour ta contribution. Cependant ce n'est pas ce que je souhaite. En fait ton [Champsfiltre] suppose que je sais ce sur quoi je voudrais filtrer or ce n'est pas le cas. Il s'agit de simuler ce que j'effectue à la main: 1 - je fais défiler tous les formulaires (en faisant usage de la roulette ou avec les flèches de défilement). 2 - je m'arrête sur l'un, je clique sur un champ (en l'occurrence ici [name]) et je filtre la sélection (clique sur la bouton avec l'icône ressemblant à un entonnoir et un éclair). 3 - je clique sur le bouton mentionné plus avant, ce qui génère l'état voulu.
c'est la partie (2) que je voudrais mettre en code de façon à ce que lorsque je clique sur le bouton (3) placé sur le formulaire, celui-ci simule le filtre sélection et appelle l'état. On voit donc bien ici que je ne peux pas savoir quelle valeur peut avoir ce champs.
Pour avoir lu beaucoup de billets je me rends compte que ce n'est jamais facile d'expliquer quelque chose qui pour soi parait tellement évident. C'est d'autant plus frustrant qu'on ne peut pas faire de copie d'écran sur ce groupe. J'espère toutefois, avec l'exemple ci-dessus, avoir été plus clair.
Merci pour toutes aides,
Pascal
Salut Pascal Je suis pas sûr d'avoir tout pigé mais je pense qu'avec un Private Sub Commande215_MouseDown(Button As Integer, Shift As Integer,
X As Single, Y As Single) 'Tu filtre ton formulaire
Me.filter="[Name]='" & [Champsfiltre] & "'" Me.filterOn = true 'Puis tu appel l'ouverture de ton état en lui passant le même filtre DoCmd.OpenReport "État1", acViewPreview,,"[Name]='" & [Champsfiltre] & "'" End Sub
et La Sub # sur ouverture de l'état (dont le nom est Etat1):
Private Sub Report_Open(Cancel As Integer) Me.Filter = Forms![Questionnaire].Filter Me.FilterOn = True End Sub N'est plus utile
ça doit faire ce que tu veux. Voilà
Effectivement j'avais mal compris ton besoin.
En cas, des copies d'écrans peuvent être jointes en utilisant www.cjoint.com ;-) @+
pascallerudulier
Bonne idée cette astuce de lien vers un hébergeur temporaire. Histoire d'illustrer mon propos, voici le premier screenshot. Je viens de sélectionner au hasard un des formulaires en cliquant sur le bouton 'filtrer par sélection:
http://cjoint.com/?brmbaaT3No
Ensuite, je viens sur l'onglet où se trouve le bouton 'print', je clique et j'obtiens l'état correspondant à la sélection au préalable .
http://cjoint.com/?brmbCAUxlF
Voici enfin le code pour le script en VBA du bouton:
http://cjoint.com/?brmfOmfZgb
En vert, tout ce qui est en remarque et donc n'est pas pris en compte. On voit d'ailleurs bien que la ligne 'DoCmd.ApplyFilter , "name = 'good news'" n'est pas appliquée.
Je souhaiterais donc, sans avoir à filtrer 'à la main' comme pour cette démonstration, de n'importe quelle formulaire, cliquer sur le bouton 'print' et l'état qui sortirait correspondrait au formulaire choisi.
Merci
Pascal
Bonne idée cette astuce de lien vers un hébergeur temporaire.
Histoire d'illustrer mon propos, voici le premier screenshot. Je viens
de sélectionner au hasard un des formulaires en cliquant sur le bouton
'filtrer par sélection:
http://cjoint.com/?brmbaaT3No
Ensuite, je viens sur l'onglet où se trouve le bouton 'print', je
clique et j'obtiens l'état correspondant à la sélection au préalable .
http://cjoint.com/?brmbCAUxlF
Voici enfin le code pour le script en VBA du bouton:
http://cjoint.com/?brmfOmfZgb
En vert, tout ce qui est en remarque et donc n'est pas pris en compte.
On voit d'ailleurs bien que la ligne
'DoCmd.ApplyFilter , "name = 'good news'" n'est pas appliquée.
Je souhaiterais donc, sans avoir à filtrer 'à la main' comme pour
cette démonstration, de n'importe quelle formulaire, cliquer sur le
bouton 'print' et l'état qui sortirait correspondrait au formulaire
choisi.
Bonne idée cette astuce de lien vers un hébergeur temporaire. Histoire d'illustrer mon propos, voici le premier screenshot. Je viens de sélectionner au hasard un des formulaires en cliquant sur le bouton 'filtrer par sélection:
http://cjoint.com/?brmbaaT3No
Ensuite, je viens sur l'onglet où se trouve le bouton 'print', je clique et j'obtiens l'état correspondant à la sélection au préalable .
http://cjoint.com/?brmbCAUxlF
Voici enfin le code pour le script en VBA du bouton:
http://cjoint.com/?brmfOmfZgb
En vert, tout ce qui est en remarque et donc n'est pas pris en compte. On voit d'ailleurs bien que la ligne 'DoCmd.ApplyFilter , "name = 'good news'" n'est pas appliquée.
Je souhaiterais donc, sans avoir à filtrer 'à la main' comme pour cette démonstration, de n'importe quelle formulaire, cliquer sur le bouton 'print' et l'état qui sortirait correspondrait au formulaire choisi.
Merci
Pascal
Fabien
Bonne idée cette astuce de lien vers un hébergeur temporaire. Histoire d'illustrer mon propos, voici le premier screenshot. Je viens de sélectionner au hasard un des formulaires en cliquant sur le bouton 'filtrer par sélection:
http://cjoint.com/?brmbaaT3No
Ensuite, je viens sur l'onglet où se trouve le bouton 'print', je clique et j'obtiens l'état correspondant à la sélection au préalable.
http://cjoint.com/?brmbCAUxlF
Voici enfin le code pour le script en VBA du bouton:
http://cjoint.com/?brmfOmfZgb
En vert, tout ce qui est en remarque et donc n'est pas pris en compte. On voit d'ailleurs bien que la ligne 'DoCmd.ApplyFilter , "name = 'good news'" n'est pas appliquée.
Je souhaiterais donc, sans avoir à filtrer 'à la main' comme pour cette démonstration, de n'importe quelle formulaire, cliquer sur le bouton 'print' et l'état qui sortirait correspondrait au formulaire choisi.
Merci
Pascal
Je crois que me.filter contient le filtre que tu constitues en utilisant
les outils de la barre d'outils et si c'est vrai (a voir donc) il suffit dans ta commande DoCmd.OpenReport "État1", acViewPreview,,me.filter et le tour serait joué !
Bonne idée cette astuce de lien vers un hébergeur temporaire.
Histoire d'illustrer mon propos, voici le premier screenshot. Je viens
de sélectionner au hasard un des formulaires en cliquant sur le bouton
'filtrer par sélection:
http://cjoint.com/?brmbaaT3No
Ensuite, je viens sur l'onglet où se trouve le bouton 'print', je
clique et j'obtiens l'état correspondant à la sélection au préalable.
http://cjoint.com/?brmbCAUxlF
Voici enfin le code pour le script en VBA du bouton:
http://cjoint.com/?brmfOmfZgb
En vert, tout ce qui est en remarque et donc n'est pas pris en compte.
On voit d'ailleurs bien que la ligne
'DoCmd.ApplyFilter , "name = 'good news'" n'est pas appliquée.
Je souhaiterais donc, sans avoir à filtrer 'à la main' comme pour
cette démonstration, de n'importe quelle formulaire, cliquer sur le
bouton 'print' et l'état qui sortirait correspondrait au formulaire
choisi.
Merci
Pascal
Je crois que me.filter contient le filtre que tu constitues en utilisant
les outils de la barre d'outils
et si c'est vrai (a voir donc) il suffit dans ta commande
DoCmd.OpenReport "État1", acViewPreview,,me.filter et le tour serait joué !
Bonne idée cette astuce de lien vers un hébergeur temporaire. Histoire d'illustrer mon propos, voici le premier screenshot. Je viens de sélectionner au hasard un des formulaires en cliquant sur le bouton 'filtrer par sélection:
http://cjoint.com/?brmbaaT3No
Ensuite, je viens sur l'onglet où se trouve le bouton 'print', je clique et j'obtiens l'état correspondant à la sélection au préalable.
http://cjoint.com/?brmbCAUxlF
Voici enfin le code pour le script en VBA du bouton:
http://cjoint.com/?brmfOmfZgb
En vert, tout ce qui est en remarque et donc n'est pas pris en compte. On voit d'ailleurs bien que la ligne 'DoCmd.ApplyFilter , "name = 'good news'" n'est pas appliquée.
Je souhaiterais donc, sans avoir à filtrer 'à la main' comme pour cette démonstration, de n'importe quelle formulaire, cliquer sur le bouton 'print' et l'état qui sortirait correspondrait au formulaire choisi.
Merci
Pascal
Je crois que me.filter contient le filtre que tu constitues en utilisant
les outils de la barre d'outils et si c'est vrai (a voir donc) il suffit dans ta commande DoCmd.OpenReport "État1", acViewPreview,,me.filter et le tour serait joué !
pascallerudulier
C'est effectivement le cas. Voici le code lors de l'ouverture de l'état: http://cjoint.com/?broRHTNRcd Il y a bien alors, par 'me.Filter', récupération de la dernière opération de filtre.
la question est: comment constituer en VBA ce filtre de la même façon que lorsque j'utilise la barre d'outils avec ce fameux bouton avec un entonnoir et un éclair. C'est un questionnaire que je mets à disposition de personnes qui n'ont pas forcément les connaissances d'ACCESS il faut donc que je constitue automatiquement, depuis le formulaire, ce filtre sans qu'il y ait d'autres manips par l'utilisateur que de presser le bouton 'print'.
Merci.
Je crois que me.filter contient le filtre que tu constitues en utilisant les outils de la barre d'outils et si c'est vrai (a voir donc) il suffit dans ta commande DoCmd.OpenReport "État1", acViewPreview,,me.filter et le tour serait jou é !
C'est effectivement le cas. Voici le code lors de l'ouverture de
l'état:
http://cjoint.com/?broRHTNRcd
Il y a bien alors, par 'me.Filter', récupération de la dernière
opération de filtre.
la question est: comment constituer en VBA ce filtre de la même façon
que lorsque j'utilise la barre d'outils avec ce fameux bouton avec un
entonnoir et un éclair.
C'est un questionnaire que je mets à disposition de personnes qui
n'ont pas forcément les connaissances d'ACCESS il faut donc que je
constitue automatiquement, depuis le formulaire, ce filtre sans qu'il
y ait d'autres manips par l'utilisateur que de presser le bouton
'print'.
Merci.
Je crois que me.filter contient le filtre que tu constitues en utilisant
les outils de la barre d'outils
et si c'est vrai (a voir donc) il suffit dans ta commande
DoCmd.OpenReport "État1", acViewPreview,,me.filter et le tour serait jou é !
C'est effectivement le cas. Voici le code lors de l'ouverture de l'état: http://cjoint.com/?broRHTNRcd Il y a bien alors, par 'me.Filter', récupération de la dernière opération de filtre.
la question est: comment constituer en VBA ce filtre de la même façon que lorsque j'utilise la barre d'outils avec ce fameux bouton avec un entonnoir et un éclair. C'est un questionnaire que je mets à disposition de personnes qui n'ont pas forcément les connaissances d'ACCESS il faut donc que je constitue automatiquement, depuis le formulaire, ce filtre sans qu'il y ait d'autres manips par l'utilisateur que de presser le bouton 'print'.
Merci.
Je crois que me.filter contient le filtre que tu constitues en utilisant les outils de la barre d'outils et si c'est vrai (a voir donc) il suffit dans ta commande DoCmd.OpenReport "État1", acViewPreview,,me.filter et le tour serait jou é !
pascallerudulier
Trouvé!
Je reprends mes exemples et j'écris en plus ce que j'ai rajouté/ remplacé:
# bouton formulaire (dont le nom est Questionnaire):
Private Sub Commande215_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) DoCmd.ApplyFilter , "name = 'good news'" <- ça j'ai replacé par ce qui suit une ligne plus loin nom = DLookup("[name]","nom_de_ma_table","[name]=Form![name]") DoCmd.ApplyFilter , "name = " ' " & nom & " ' " <- plus très sûr avec les " et ' mais ça marche!! DoCmd.OpenReport "État1", acViewPreview End Sub
# sur ouverture de l'état (dont le nom est Etat1):
Private Sub Report_Open(Cancel As Integer) Me.Filter = Forms![Questionnaire].Filter Me.FilterOn = True End Sub
Résultat, quel que soit l'enregistrement du formulaire, dès que je clique sur le bouton j'ai l'état correspondant qui s'affiche.
Ouf!!
Trouvé!
Je reprends mes exemples et j'écris en plus ce que j'ai rajouté/
remplacé:
# bouton formulaire (dont le nom est Questionnaire):
Private Sub Commande215_MouseDown(Button As Integer, Shift As Integer,
X As Single, Y As Single)
DoCmd.ApplyFilter , "name = 'good news'" <- ça j'ai replacé par ce
qui suit une ligne plus loin
nom = DLookup("[name]","nom_de_ma_table","[name]=Form![name]")
DoCmd.ApplyFilter , "name = " ' " & nom & " ' " <- plus très sûr
avec les " et ' mais ça marche!!
DoCmd.OpenReport "État1", acViewPreview
End Sub
# sur ouverture de l'état (dont le nom est Etat1):
Private Sub Report_Open(Cancel As Integer)
Me.Filter = Forms![Questionnaire].Filter
Me.FilterOn = True
End Sub
Résultat, quel que soit l'enregistrement du formulaire, dès que je
clique sur le bouton j'ai l'état correspondant qui s'affiche.
Je reprends mes exemples et j'écris en plus ce que j'ai rajouté/ remplacé:
# bouton formulaire (dont le nom est Questionnaire):
Private Sub Commande215_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) DoCmd.ApplyFilter , "name = 'good news'" <- ça j'ai replacé par ce qui suit une ligne plus loin nom = DLookup("[name]","nom_de_ma_table","[name]=Form![name]") DoCmd.ApplyFilter , "name = " ' " & nom & " ' " <- plus très sûr avec les " et ' mais ça marche!! DoCmd.OpenReport "État1", acViewPreview End Sub
# sur ouverture de l'état (dont le nom est Etat1):
Private Sub Report_Open(Cancel As Integer) Me.Filter = Forms![Questionnaire].Filter Me.FilterOn = True End Sub
Résultat, quel que soit l'enregistrement du formulaire, dès que je clique sur le bouton j'ai l'état correspondant qui s'affiche.