Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/03/2011, 17h13   #1
Invité régulier
 
Salomon Target
Inscription : novembre 2010
Messages : 41
Détails du profil
Informations personnelles :
Nom : Salomon Target

Informations forums :
Inscription : novembre 2010
Messages : 41
Points : 9
Points : 9
Par défaut Contrôle(s) dans un état ?

Bonjour à tous,

Est-il possible de mettre un (ou des) contrôle(s) dans un état ?

J'aurais souhaité mettre un groupe d'option (et les options associées) dans un état de telle manière que lorsque l'état s'affiche à l'écran, et avant son impression, on puisse sélectionner l'une ou l'autre des options, ce qui aurait pour effet de modifier instantanément le contenu de champs calculées contenus dans le détail de l'état. L'utilisateur pourrait ainsi choisir l'option qu'il souhaite avant d'imprimer l'état.

j'ai constaté qu'en mode création il était pôssible d'insérer ce type de contrôles dans l'état... mais je n'arrive pas ensuite à activer ces contrôles qui apparaissent en "grisés" lorsque j'ouvre l'état en mode état.

Je ne suis pas sur d'être très clair mais bon...

Merci d'avance à ceux qui pourront m'aider

Stargates
stargates01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 17h29   #2
Membre Expert
 
Avatar de keita
 
Homme
Inscription : novembre 2002
Messages : 879
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Côte d'Ivoire

Informations forums :
Inscription : novembre 2002
Messages : 879
Points : 1 015
Points : 1 015
Envoyer un message via MSN à keita
bonjour à tous
Citation:
Est-il possible de mettre un (ou des) contrôle(s) dans un état ?
Réponse:
Citation:
j'ai constaté qu'en mode création il était possible d'insérer ce type de contrôles dans l'état... mais je n'arrive pas ensuite à activer ces contrôles qui apparaissent en "grisés" lorsque j'ouvre l'état en mode état.
Ce n'est pas possible à ce que je saches. Tu fais tout à partir de ton form et tu ouvres ton état.

@+
keita est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 17h43   #3
Invité régulier
 
Salomon Target
Inscription : novembre 2010
Messages : 41
Détails du profil
Informations personnelles :
Nom : Salomon Target

Informations forums :
Inscription : novembre 2010
Messages : 41
Points : 9
Points : 9
OK. Merci pour la réponse. C'est bien dommage...

Stargates
stargates01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 18h19   #4
Membre Expert
 
Avatar de keita
 
Homme
Inscription : novembre 2002
Messages : 879
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Côte d'Ivoire

Informations forums :
Inscription : novembre 2002
Messages : 879
Points : 1 015
Points : 1 015
Envoyer un message via MSN à keita
NON, NON Stargates, ne pas!
ce que tu cherches à faire
Citation:
L'utilisateur pourrait ainsi choisir l'option qu'il souhaite avant d'imprimer l'état.
Il le fait simplement à partir de ton formulaire qui ouvre ton état, comme je te l'ai indiqué plus haut.non?


@+
keita est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/03/2011, 10h12   #5
Invité régulier
 
Salomon Target
Inscription : novembre 2010
Messages : 41
Détails du profil
Informations personnelles :
Nom : Salomon Target

Informations forums :
Inscription : novembre 2010
Messages : 41
Points : 9
Points : 9
Désolé, je ne vois ton message complémentaire que maintenant : Oui c'est vrai je pourrais positionner mes contrôles d'option dans le formulaire à partir duquel je lance mon état mais j'aurais voulu raffiner en fermant ce formulaire (qui par ailleurs contient plein d 'autres infos non utiles à l'état) afin de ne piloter les options d'affichage de l'état qu'à partir de l'état lui même.

POur être plus précis ma séquence est la suivante :
- j'ai un formulaire qui me permet de saisir des critères de sélection de données
- une fois ces critères sélectionnés j'ai un bouton dans le formulaire qui déclenche la recherche de ces données dans une base sql et constitue une table qui sera la source de mon état
- une fois la table constituée l'état s'ouvre et il contient plusieurs colonnes dont la dernière est le total des colonnes 1, 2 et 4 par défaut.

c'est là que je voudrais faire intervenir mon contrôle d'options tout simple permettant, suivant l'option cochée, de changer la formule de calcul de ma colonne total pour qu'elle affiche la somme des colonnes 1, 2 et 3 (au lieu de 4) en procédant par un petit code vba.

Idéalement j'aurais bien vu ce contrôle dans l'état lui-même, mais c'est pas possible apparemment. Je vais donc me rabattre sur un formulaire dédié dans lequel il n'y aura que mon contrôle d'option me permettant ce changement de formule et évitant par exemple une solution plus lourde qui repartirait du formulaire initial et regénérerait la table source de mon état.

Si quelqu'un à une meilleure idée je suis preneur.

Stargates
stargates01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2011, 16h56   #6
Membre Expert
 
Avatar de keita
 
Homme
Inscription : novembre 2002
Messages : 879
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Côte d'Ivoire

Informations forums :
Inscription : novembre 2002
Messages : 879
Points : 1 015
Points : 1 015
Envoyer un message via MSN à keita
Bonjour stargates01
Essayons ces 2 possibilités:
Methode 1/ Tu pourrais par exemple faire 2 requêtes; chacune faisant la sommation que tu désires (à partir du QBE par exemple); on va affecter l'une d'entre elle à la source de l'état; et ce, selon la valeur (OUI ou NON) de la case à cocher.
La 1ere req pourrait être comme ceci:
SELECT col1, col2, col3,col4,[col1]+[col2]+[col3] as Total FROM MaTable
La 2è req pourrait être comme ceci:
SELECT col1, col2,col3,col4,[col1]+[col2]+[col4] as Total FROM MaTable
sur l'evenement Sur ouverture de l'etat, On va envoyer les req dans sa source comme ceci:
Code :
1
2
3
4
5
If Forms!NomDeMonForm.Cocher.Value = True
	Me.RecordSource = "SELECT col1, col2, col4,[col1]+[col2]+[col4] as Total FROM MaTable;"
	Else
	Me.RecordSource = "SELECT col1, col2,col3,col4,[col1]+[col2]+[col4] as Total FROM MaTable"
End If
A ce moment, si tes controles col1,.......col4, Total ont bien été crées sur ton etat, tu devrais avoir satisfaction

Methode 2
sur l'evenement Sur ouverture de l'etat:
Code :
1
2
3
4
5
If Forms!NomDeMonForm.Cocher.Value = True
	Me.txtTotal.ControlSource = "=[col1]+[col2]+[col3]"
	Else
	Me.txtTotal.ControlSource = "=[col1]+[col2]+[col4]"
End If
Cocher est le nom de la case à cocher;Trouve lui une p'tite place sur ton form.
C'est une piste.J'espère t'avoir bien compris.

@+
keita est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2011, 18h56   #7
Invité régulier
 
Salomon Target
Inscription : novembre 2010
Messages : 41
Détails du profil
Informations personnelles :
Nom : Salomon Target

Informations forums :
Inscription : novembre 2010
Messages : 41
Points : 9
Points : 9
Merci Keita,

J'avais commencé à implémenter la deuxième méthode qui a ma préférence, ce qui a engendré un autre post de ma part "Changer mode d'affichage d'un état" car je me demande s'il est possible de changer le contrôle source d'un champ ailleurs que dans la procédure d'ouverture de l'état. Autrement dit pour le moment à chaque fois que je change d'option pour ma colonne total il faut que je passe par la fermeture puis la réouverture de l'état (ce qui me génère d'autres problèmes car j'ai des instructions dans les procédures open et close que je ne veux pas systématiquement exécuter).

Est-il possible non pas de fermer/ouvrir l'état mais de changer son mode d'affichage et de le passer en mode "création" (design), changer le sourcecontrol du champ calculé, et le repasser en mode "aperçu" (Preview) ?

@+
Stargates01
stargates01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2011, 19h16   #8
Membre Expert
 
Avatar de keita
 
Homme
Inscription : novembre 2002
Messages : 879
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Côte d'Ivoire

Informations forums :
Inscription : novembre 2002
Messages : 879
Points : 1 015
Points : 1 015
Envoyer un message via MSN à keita
J'ai bien vu ton post
Citation:
"Changer mode d'affichage d'un état"
et je me doutais fort que c'était pour contourner le pb.
Citation:
Est-il possible non pas de fermer/ouvrir l'état mais de changer son mode d'affichage et de le passer en mode "création" (design), changer le sourcecontrol du champ calculé, et le repasser en mode "aperçu" (Preview) ?
Perso je te conseillerais de créer 2 etats dans ce cas; avec un groupe d'options. Car imagines seulement qu'étant utilisateur de ton application, je sois emmené chaque fois à passer en mode création, faire des manips avant de continuer mon travail; tu comprends que si en plus je suis pas connaisseur d'access, cela finira par rebuter;non?
Par ailleurs après la phase de construction de ton appli, ne voudras tu pas la compiler en .mde? Si oui, alors ne perds pas de vue que l'utilisateur de ton appli, pas plus que toi meme ne pourras pas passer en mode création.
et si tu comptes ne pas compiler en .mde, alors attends toi à ce que le 1er bidouilleur casse ta belle p'tite appli.
Retour sur mon conseil: crées tout simplement 2 états à piloter à partir de ton form.

@+
keita est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2011, 21h40   #9
Invité régulier
 
Salomon Target
Inscription : novembre 2010
Messages : 41
Détails du profil
Informations personnelles :
Nom : Salomon Target

Informations forums :
Inscription : novembre 2010
Messages : 41
Points : 9
Points : 9
OK je me rallie à ton argument sur la compil en mde... merci de ta perspicacité.

Bonne soirée
stargates01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h48.


 
 
 
 
Partenaires

Hébergement Web