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

formulaire et mode feuille de données

10 réponses
Avatar
news.free.fr
Bonjour,

J'ai un formulaire qui contient un sous formulaire qui m'affiche en mode
feuille de données le résultat d'un filtrage.

Je souhaiterais, en double cliquant sur un enregistrement qui se trouve dans
la feuille de données, ouvrir un autre formulaire correspondant à cet
enregistrement.

Par ex : le filtrage affiche 2 contacts dans le sous formulaire feuille de
données :

ID Nom Prenom Ville
12 BOB jean Paris
214 Raoul maurice Angoulème


Je doublecliques sur BOB, ca m'ouvre la fiche contact correspondant à
Monsieur BOB...



Est-ce faisable ?


Merci d'avance pour vos réponses

seb

10 réponses

Avatar
3stone
Salut,

"news.free.fr"
| J'ai un formulaire qui contient un sous formulaire qui m'affiche en mode
| feuille de données le résultat d'un filtrage.
|
| Je souhaiterais, en double cliquant sur un enregistrement qui se trouve dans
| la feuille de données, ouvrir un autre formulaire correspondant à cet
| enregistrement.
|
| Par ex : le filtrage affiche 2 contacts dans le sous formulaire feuille de
| données :
|
| ID Nom Prenom Ville
| 12 BOB jean Paris
| 214 Raoul maurice Angoulème
|
|
| Je doublecliques sur BOB, ca m'ouvre la fiche contact correspondant à
| Monsieur BOB...


Passe ton formulaire en mode formulaire continu (provisoirement)

Avec l'assistant, tu te crée un bouton dans la section détail.
L'action du bouton:
- ouvrir un formulaire (que tu désigneras)
- avec les "informations spécifiques à trouver"
- sélectionne le champ concerné dans chaque formulaire
- clique termine et retourne voir le code créé par l'assistant
- maintenant, il suffit de déplacer la partie intéressante du code
dans l'événement sur doubleclic de la zone de texte concernée.

Bien sur, tu supprimera le bouton et son code inutile avant
de basculer en mode feuille de données.

PS: Je n'utilise que rarement le mode feuille de données, je préfère
le form en mode continu auquel je donne l'aspect souhaité.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
news.free.fr
Merci Pierre,

Cela fonctionne à merveille. ;-)

Allez j'en profite :

J'ai récupéré votre code sur les filtres personnalisés
(http://www.3stone.be/access/articles.php?lng=fr&pgC ) .

est'il possible de rajouter une option "tous" dans les listes modifiables ?


"3stone" a écrit dans le message de news:

Salut,

"news.free.fr"
| J'ai un formulaire qui contient un sous formulaire qui m'affiche en mode
| feuille de données le résultat d'un filtrage.
|
| Je souhaiterais, en double cliquant sur un enregistrement qui se trouve
dans
| la feuille de données, ouvrir un autre formulaire correspondant à cet
| enregistrement.
|
| Par ex : le filtrage affiche 2 contacts dans le sous formulaire feuille
de
| données :
|
| ID Nom Prenom Ville
| 12 BOB jean Paris
| 214 Raoul maurice Angoulème
|
|
| Je doublecliques sur BOB, ca m'ouvre la fiche contact correspondant à
| Monsieur BOB...


Passe ton formulaire en mode formulaire continu (provisoirement)

Avec l'assistant, tu te crée un bouton dans la section détail.
L'action du bouton:
- ouvrir un formulaire (que tu désigneras)
- avec les "informations spécifiques à trouver"
- sélectionne le champ concerné dans chaque formulaire
- clique termine et retourne voir le code créé par l'assistant
- maintenant, il suffit de déplacer la partie intéressante du code
dans l'événement sur doubleclic de la zone de texte concernée.

Bien sur, tu supprimera le bouton et son code inutile avant
de basculer en mode feuille de données.

PS: Je n'utilise que rarement le mode feuille de données, je préfère
le form en mode continu auquel je donne l'aspect souhaité.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)



Avatar
3stone
Salut,

"news.free.fr"
| Cela fonctionne à merveille. ;-)


et a l'avantage de comprendre le fonctionnement des assistants ;-)



| Allez j'en profite :
|
| J'ai récupéré votre code sur les filtres personnalisés
| (http://www.3stone.be/access/articles.php?lng=fr&pgC ) .
|
| est'il possible de rajouter une option "tous" dans les listes modifiables ?

Bien sûr, il suffit de compléter le code concaténé de cette façon :
http://homepage.bluewin.ch/wstucki//Formulaires.htm#Tous

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
news.free.fr
J'ai adapté le code de ma liste par rapport à l'exemple :

mon code : SELECT Tb_contacts.Type, Tb_contacts.Id, 2 AS OrdreTri FROM
Tb_contacts UNION SELECT "<<TOUS>>" As Type, -1 As id, 1 As OrdreTri FROM
[Tb_contacts] ORDER BY OrdreTri, Type;

Je vois bien le <<TOUS>> en haut de ma liste (ca pête ;-)) sauf que lorsque
je le sélectionne, au lieu de m'afficher tous les enregistrements, il
m'affiche rien...

Bizarre...


"3stone" a écrit dans le message de news:

Salut,

"news.free.fr"
| Cela fonctionne à merveille. ;-)


et a l'avantage de comprendre le fonctionnement des assistants ;-)



| Allez j'en profite :
|
| J'ai récupéré votre code sur les filtres personnalisés
| (http://www.3stone.be/access/articles.php?lng=fr&pgC ) .
|
| est'il possible de rajouter une option "tous" dans les listes
modifiables ?

Bien sûr, il suffit de compléter le code concaténé de cette façon :
http://homepage.bluewin.ch/wstucki//Formulaires.htm#Tous

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)



Avatar
3stone
Salut,

"news.free.fr"
| J'ai adapté le code de ma liste par rapport à l'exemple :
|
| mon code : SELECT Tb_contacts.Type, Tb_contacts.Id, 2 AS OrdreTri FROM
| Tb_contacts UNION SELECT "<<TOUS>>" As Type, -1 As id, 1 As OrdreTri FROM
| [Tb_contacts] ORDER BY OrdreTri, Type;
|
| Je vois bien le <<TOUS>> en haut de ma liste (ca pête ;-)) sauf que lorsque
| je le sélectionne, au lieu de m'afficher tous les enregistrements, il
| m'affiche rien...

J'ai répondu de façon un peu simpliste, en disant de "concaténer"...

En fait, dans le code actuel, on vérifier s'il y à eu sélection d'une valeur
dans chaque liste (la zone de texte de la liste étant "vide")

- Soit, tu ajoutes un bouton pour "RESETer" les textbox des listes (les vider)
Me!LaListe = Null

- Soit tu ajoutes comme souhaité le mot "Tous" dans cette liste.

dans ce cas là, ce n'est plus le Null que tu dois tester, mais bien le "Tous"
et avec une obligation, c'est que la valeur "par défaut" de la liste ne
doit plus être le Null, mais bien la première valeur "Tous"

Cela s'obtient en mettant dans l'événement "Sur activation" du form :

Me.LaListe = Me.LaListe.ItemData(0)


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
news.free.fr
Merci pierre,

J'ai retenu la solution du bouton reset, cela convient et ca fonctionne.

Aurriez-vous par hazard un bon tuto pour faire du publipostage et d'edition
d'étiquettes a partir d'access ?

seb


"3stone" a écrit dans le message de news:

Salut,

"news.free.fr"
| J'ai adapté le code de ma liste par rapport à l'exemple :
|
| mon code : SELECT Tb_contacts.Type, Tb_contacts.Id, 2 AS OrdreTri FROM
| Tb_contacts UNION SELECT "<<TOUS>>" As Type, -1 As id, 1 As OrdreTri
FROM
| [Tb_contacts] ORDER BY OrdreTri, Type;
|
| Je vois bien le <<TOUS>> en haut de ma liste (ca pête ;-)) sauf que
lorsque
| je le sélectionne, au lieu de m'afficher tous les enregistrements, il
| m'affiche rien...

J'ai répondu de façon un peu simpliste, en disant de "concaténer"...

En fait, dans le code actuel, on vérifier s'il y à eu sélection d'une
valeur
dans chaque liste (la zone de texte de la liste étant "vide")

- Soit, tu ajoutes un bouton pour "RESETer" les textbox des listes (les
vider)
Me!LaListe = Null

- Soit tu ajoutes comme souhaité le mot "Tous" dans cette liste.

dans ce cas là, ce n'est plus le Null que tu dois tester, mais bien le
"Tous"
et avec une obligation, c'est que la valeur "par défaut" de la liste ne
doit plus être le Null, mais bien la première valeur "Tous"

Cela s'obtient en mettant dans l'événement "Sur activation" du form :

Me.LaListe = Me.LaListe.ItemData(0)


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)




Avatar
3stone
Salut,

"news.free.fr"
| Aurriez-vous par hazard un bon tuto pour faire du publipostage et d'edition
| d'étiquettes a partir d'access ?

Utilise simplement l'assistant étiquette, ca roule tout seul ;-)

Etat, Nouveau, Assistant étiquette

Crée d'abord la requête qui va bien et renseigne cette requête comme source de ton état.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
news.free.fr
Yes c'est fantastique, désormais je regarderais dans le assistant avant de
poser ce type de question ^^

par contre je ne comprends pas trop la syntaxe de docmd.openreport.

J'ai vu dans les propriétés de l'état que l'on pouvait également filtrer les
enregistrements (super c'est ce je veux...)

je stocke dans une variable publique strFiltreall les valeurs qui me servent
à filtrer un sous formulaire en mode feuille de donnée.

je souhaite réutiliser cette variable pour filtrer les étiquettes que je
veut imprimer.

je tape le code suivant mais j'ai une erreur de syntaxe ou de compilation (=
attendu), je ne sais pas comment passer strFiltreall comme filtre à l'état..

doCmd.OpenReport ("ET_etiquettes",acViewPreview,"strFiltreall")

l'aide d'access dit expression.OpenReport(ReportName, View, FilterName,
WhereCondition, WindowMode, OpenArgs)

Je pense etre bon mais ca ne veut pas ...

et puis un truc étrange que j'ai remarqué : mon état existe mais il
n'apparait pas dans la fenetre projet, je n'arrive pas à y faire référence
(report_ET_etiquettes).. Est-ce un bug ??

seb


"3stone" a écrit dans le message de news:
%
Salut,

"news.free.fr"
| Aurriez-vous par hazard un bon tuto pour faire du publipostage et
d'edition
| d'étiquettes a partir d'access ?

Utilise simplement l'assistant étiquette, ca roule tout seul ;-)

Etat, Nouveau, Assistant étiquette

Crée d'abord la requête qui va bien et renseigne cette requête comme
source de ton état.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)



Avatar
Eric
Bonjour,

Je pense que la syntaxe doit être :
DoCmd.OpenReport ""ET_etiquettes",acViewPreview,"NomFiltre"

où NomFiltre représente le nom d'une requête pré-enregistrée de la base
de données.

Si tu veux utiliser ta variable, il faut plutôt utiliser l'argument
WhereCondition dont le contenu est une clause SQL Where sans le mot Where

Yes c'est fantastique, désormais je regarderais dans le assistant avant de
poser ce type de question ^^

par contre je ne comprends pas trop la syntaxe de docmd.openreport.

J'ai vu dans les propriétés de l'état que l'on pouvait également filtrer les
enregistrements (super c'est ce je veux...)

je stocke dans une variable publique strFiltreall les valeurs qui me servent
à filtrer un sous formulaire en mode feuille de donnée.

je souhaite réutiliser cette variable pour filtrer les étiquettes que je
veut imprimer.

je tape le code suivant mais j'ai une erreur de syntaxe ou de compilation (=
attendu), je ne sais pas comment passer strFiltreall comme filtre à l'état..

doCmd.OpenReport ("ET_etiquettes",acViewPreview,"strFiltreall")

l'aide d'access dit expression.OpenReport(ReportName, View, FilterName,
WhereCondition, WindowMode, OpenArgs)

Je pense etre bon mais ca ne veut pas ...

et puis un truc étrange que j'ai remarqué : mon état existe mais il
n'apparait pas dans la fenetre projet, je n'arrive pas à y faire référence
(report_ET_etiquettes).. Est-ce un bug ??

seb


"3stone" a écrit dans le message de news:
%
Salut,

"news.free.fr"
| Aurriez-vous par hazard un bon tuto pour faire du publipostage et
d'edition
| d'étiquettes a partir d'access ?

Utilise simplement l'assistant étiquette, ca roule tout seul ;-)

Etat, Nouveau, Assistant étiquette

Crée d'abord la requête qui va bien et renseigne cette requête comme
source de ton état.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)






--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr


Avatar
3stone
Salut,

"news.free.fr"
| par contre je ne comprends pas trop la syntaxe de docmd.openreport.
|
| J'ai vu dans les propriétés de l'état que l'on pouvait également filtrer les
| enregistrements (super c'est ce je veux...)


Il est souvent plus performant d'utiliser la clause "Where" sur la source...
autrement dit, de filtrer au maximum au niveau de la requête source
et idéalement sur des champs indexés.


| je stocke dans une variable publique strFiltreall les valeurs qui me servent
| à filtrer un sous formulaire en mode feuille de donnée.
|
| je souhaite réutiliser cette variable pour filtrer les étiquettes que je
| veut imprimer.
|
| je tape le code suivant mais j'ai une erreur de syntaxe ou de compilation ( | attendu), je ne sais pas comment passer strFiltreall comme filtre à l'état..
|
| doCmd.OpenReport ("ET_etiquettes",acViewPreview,"strFiltreall")

supprime les guillemets autour de ta variable strFiltreall ;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)