Forum - Questions générale - Sujet n°361

[]
Nombre de membres 1 membre
Connectés : ( personne )
 

La Charte du Forum - La Charte du Forum

Forum - Forum
Questions générale - Questions générale


clos par  le // : :  Sujet n° 361  Ouverture Etat avec macro

le 18/04/2010 : 11:40
par Polux

Anonyme

visiteur

Bonjour,Je souhaite ouvrir un état à l'aide d'une macro.En tant normal l'orsque j'ouvre mon etat je dois entrer une valeur de paramètre:[Formulaires]![IMPRIMER REPARATIONS]![Modifiable51]Modifiable 51 c'est le code du réparateur.Si par exemple j'entre 8 et valide mon choix il m'ouvre l'état de ce réparateur.Je souhaite automatiser cette tâche à l'aide de macro pour ce réparateur N° 8.Merci d'avance.
Ecrire à Polux  sujet clos  Haut

[]   

Réponse n° 1
--------
le 18/04/2010 : 18:16
par 3Stone

Anonyme

Administrateur

Bonjour,

Je ne comprends pas bien ce qui est recherché...
 
Citation :

[Formulaires]![IMPRIMER REPARATIONS]![Modifiable51]

 
Ce paramètre pointe pourtant déjà une liste déroulante, il suffit donc de sélectionner une valeur dans la liste et de demander l'ouverture de l'état pour que cela fonctionne.
 
Citation :

Je souhaite automatiser cette tâche à l'aide de macro pour ce réparateur N° 8.

 
C'est à dire ?  le réparateur No8 devrait être la valeur par défaut ?

Cordialement,
Pierre(3stone)
  clos par  le // : :  Haut
Réponse n° 2
--------
le 18/04/2010 : 20:24
par Polux

Anonyme

visiteur

Bonsoir,

Oui, effectivement si je sélectionne le réparateur par le menu déroulant et que j'ouvre l'état celà fonctionne.

Il se fait que je souhaite ouvrir et imprimer l'état pour plusieurs réparateurs différents en un click sur un bouton.

Donc pour ce faire j'essaye dans un 1er temp de réaliser cette opération à l'aide d'une macro et le réparateur N°8.

La source de mon état est une requête (Réparationsareprendre) avec comme critère sur le champ "réparateur": [Formulaires]![IMPRIMER REPARATIONS]![Modifiable51]

En pratique:

Dans ma macro j'ai l'action "OuvriEtat" qui pointe vers l'état en question.

En condition Where j'ai : [Réparationsareprendre]![Réparateur]=8

Mais quand j'essaye d'exécuter la macro, j'ai une boite qui s'ouvre: "Entrer une valeur de paramètre" pour Formulaires!IMPRIMER REPARATIONS!Modifiable51.

Si j'entre la valeur 8 celà fonctionne mais je souhaite ne plus devoir encoder manuellement ce paramètre.

Voilà j'espère avoir été le plus clair possible dans mon jargon s

Merci beaucoup !

Ecrire à Polux   clos par  le // : :  Haut
Réponse n° 3
--------
le 19/04/2010 : 13:41
par 3Stone

Anonyme

Administrateur

Bonjour,

 
Citation :

En condition Where j'ai : [Réparationsareprendre]![Réparateur]=8

 
Il ne faut pas renseigner le nom de la requête...

Citation :

Mais quand j'essaye d'exécuter la macro, j'ai une boite qui s'ouvre: "Entrer une valeur de paramètre" pour Formulaires!IMPRIMER REPARATIONS!Modifiable51.

 
C'est normal winkLa condition doit simplement être:  [Réparateur]=8
 
Citation :

mais je souhaite ne plus devoir encoder manuellement ce paramètre.

 
Oui, tu peux le mettre "en dur", comme indiqué ci-dessus, mais cela ne mêne nulle part. Ni d'ailleurs ta recherche de faire mieux avec une "macro" k

Pour sélectionner un seul réparateur, la liste déroulante est la bonne méthode.
Si par contre, tu souhaites sélectionner (ou désigner) plusieurs réparateurs avant de lancer ton état, il te faut utiliser une zone de liste (listbox) et non une liste déroulante (combobox).
Une zone de liste possède une propriété grâce à laquelle on peut décider de n'autoriser que la sélection "simple" ou la "sélection multiple".
Lorsque l'on utilise une zone de liste à choix multiple, ce n'est pas avec ce que tu appelles une "macro" (en fait: macro commande) que tu y arriveras, mais avec du code VBA.
Lors de plusieurs sélections, il faut boucler sur les items de la liste et récupérer ceux qui sont sélectionnés.

PS: La question est bien : que veux tu obtenir et non comment wink

Cordialement,
Pierre(3stone)
  clos par  le // : :  Haut
Réponse n° 4
--------
le 19/04/2010 : 21:12
par Polux

Anonyme

visiteur

Bonsoir Pierre,

Au fait ce que je souhaite obtenir et tu me diras peut-être comment pour autant que tu puisses comprendre mon jargon access qui j'en conviens n'est pas des plus professionnel.... k

Pour ce faire je vais expliquer la pratique des choses....(Ce qui à mon niveau me paraît plus simple !)

Je vais régulièrement chez 3 réparateurs et de manière hebdomadaire j'ouvre mon formulaire "IMPRIMER REPARATIONS" et sélectionne dans mon menu déroulant le répareur 8.

Puis j'ai à côté de ce menu déroulant un bouton qui me permet de prévisualiser l'état et de là je lance l'impression.

Après je recommence 2 fois la procédure comme ci-dessus mais avec le réparateur 9 & 10.

Ce que je souhaite n'est donc pas un regroupement de ces 3 réparateurs dans la même impression mais bien 3 impression différentes pour chacun d'eux avec les différents appareils qui leurs sont destinés.

Donc ce que je souhaite obtenir c'est une impression direct pour ces 3 réparateurs différents en 1 click de souris qui serait un bouton pointant sur ma macro commande.

Je souhaite aussi conserver mon menu déroulant qui me permets à l'occasion de sélectionner un autre réparateur que ceux habituellements utilisés.

Je pensais utiliser les macro commande car je ne suis pas un AS et celà m'aurait permis de rester +/- maître de ma programmation et modifiable à souhaits...ou presque....y

Dès que le VBA rentre en ligne de compte je nage comme un poisson dans son aquarium e

Pour ce qui est de ce-ci

Citation : Pierre

C'est normal La condition doit simplement être: [Réparateur]=8

J'ai essayé mais j'ai toujours cette même boîte:

"Entrer une valeur de paramètre"y

Si j'entre le paramètre 8, mon état s'ouvre comme d'habitude.

Merci beaucoup !

Ecrire à Polux   clos par  le // : :  Haut
Réponse n° 5
--------
le 20/04/2010 : 01:25
par 3Stone

Anonyme

Administrateur

Bonjour,
 
Citation :

Donc ce que je souhaite obtenir c'est une impression direct pour ces 3 réparateurs différents en 1 click de souris qui serait un bouton pointant sur ma macro commande

 
Ceci confirme une fois de plus qu'il vaut mieux expliquer ce que l'on souhaite obtenir, au lieu de partir dans des demandes totalement inadaptées n

En fait, ton souhait est une approche fausse !
Fait une requête (ou une copie de ta requête) qui va bien.
Comme critère, tu peux directement renseigner les numéros des réparateurs souhaités (donc 8, 9 et 10).

Maintenant l'état (ou copie de ton état) :
  • Renseigne cette requête comme source de ton état
  • Vas dans le menu Affichage, Trier et grouper
  • Sélectionne le champ réparateur
  • En-tête de groupe => oui
Ensuite, tu sélectionnes la section "Détail" de ton état et dans les propriétés, onglet Format, Saut de page => Avant section.

Tu lances cet état avec un bouton et il te sort tes 3 réparateurs...

Cordialement,
Pierre(3stone)
  clos par  le // : :  Haut
Réponse n° 6
--------
le 20/04/2010 : 21:24
par Polux175

Anonyme

visiteur

Bonsoir Pierre,

Citation : Pierre

Fait une requête (ou une copie de ta requête) qui va bien.
Comme critère, tu peux directement renseigner les numéros des réparateurs souhaités (donc 8, 9 et 10).
Maintenant l'état (ou copie de ton état) :
Renseigne cette requête comme source de ton état

Jusque là tout est ok et si j'affiche l'état tel que décrit ci-dessus j'ai bien tous les appareils destinés aux 3 réparateurs.

Ps: Je suis sous access 2007.

Le hic:

Dans ma requête j'ai une table liée avec les coordonées du réparateurs qui s"affichent en en-tête d'état et dans le cas présent il m'affiche les coordonées du réparateur 8.

Mon état est structuré de la manière suivante:

En-tête:

Coordonnées du réparateur + un champ calculé qui additionne les coûts des réparations.

En-tête de page:

Les étiquettes: Nos Réf / Vos réf /Type - Modèle / N° de série / Coût de la réparation.

En détail:

J'ai les champs correspondants aux étiquettes reprise dans la section En-tête de page.

En pied de page:

Date + N° de page

Pied d'état:

Une image qui est un reçu à compléter et à faire signer par le réparateur après paiement.

et donc pour ce qui est du reste

Citation : Pierre

Vas dans le menu Affichage, Trier et grouper
Sélectionne le champ réparateur
En-tête de groupe => oui
Ensuite, tu sélectionnes la section "Détail" de ton état et dans les propriétés, onglet Format, Saut de page => Avant section.

Je me sens un peu voir beaucoup perdu.....y

Merci d'avance !!!

Ecrire à Polux175   clos par  le // : :  Haut
Réponse n° 7
--------
le 21/04/2010 : 15:50
par 3Stone

Anonyme

Administrateur

Bonjour,
 
Citation :

Dans ma requête j'ai une table liée avec les coordonées du réparateurs qui s"affichent en en-tête d'état et dans le cas présent il m'affiche les coordonées du réparateur 8.

 
Je ne vois pas le problème, mais au besoin il faut utiliser un état avec sous-état, comme on le fait pour les formulaires avec sous-formulaire.

 
Citation :

Je me sens un peu voir beaucoup perdu

 
Pourtant, c'est le b-a BA de la réalisation d'un état e
Car même un simple tri doit se renseigner de cette façon, le tri dans la requête source n'ayant pas d'effet (contrairement au tri dans la requête qui alimente un formulaire).

La seule chose évidente que je n'avais pas précisé, était de placer l'état en mode création, ensuite faire ce que j'ai indiqué.

Cordialement,
Pierre(3stone)
  clos par  le // : :  Haut
Réponse n° 8
--------
le 21/04/2010 : 21:02
par Polux

Anonyme

visiteur

Bonsoir Pierre,

En bidouillant un peu et avec ton aide je suis parvenu à créer un "En-tête de groupe réparateur" et maintenant tout est cohérant.

Il ne me reste plus que quelques manipulations de mise en page et celà sera parfait !!! l

Au fait en réalité je ne sais plus à 100% comment j'ai fait mais je n'ai pas eu recourt à un sous-etat.

J'ai en tous cas apris +/- le saut de page et après quelque test & pré-visualisation tout est OK.

Soit je te remercie grandement pour ton aide et ta patience face à un novice comme moi....

Voilà sinon j'ai encore une petite question mais pour respecter les règle de ce SUPER Forum je vais la poster avec une nouvelle étiquette.

Bien à toi.

Ecrire à Polux   clos par  le // : :  Haut
actif sujet actif   clos sujet clos   Important! Important!   Nouveau Nouveau message   -   Rectifier Rectifier message   Clôturer Clôturer sujet   Remonter Remonter
[]
Catégories de discussion  Forum 



Haut