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 21/07/2011, 14h33   #1
Invité de passage
 
Homme charles palhon
Étudiant
Inscription : juin 2011
Messages : 14
Détails du profil
Informations personnelles :
Nom : Homme charles palhon
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : Associations - ONG

Informations forums :
Inscription : juin 2011
Messages : 14
Points : 3
Points : 3
Par défaut ouverture successive de formulaire à partir d'une liste

bonjour!!
J'ai besoin d'un petit coup de main svp:

Je veux créer un bouton "catalogue" qui me permette d'imprimer une liste de fiches techniques obtenue dans un formulaire de recherche multi-critère.

Concrètement, j'ai un premier formulaire "RECHERCHE" qui me permet d'obtenir une liste de machine "ListMachine". Quand je double clique sur une des machines dans ma liste, un deuxième formulaire "FM_MACHINE_DE_PROD" s'ouvre en m'affichant toutes les caractéristiques de la machine.
Ensuite je clique sur le bouton "Imprimer" dans mon formulaire "FM_MACHINE_DE_PROD", et l'état "E_FicheTechnique" s'ouvre en mode aperçu, en affichant les caractéristiques provenant du formulaire "FM_MACHINE_DE_PROD".

Donc mon plan initial est de faire un bouton "Catalogue" qui sur "Click" déclenche la procédure VBA suivante:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Sub Catalogue_Click()
   Dim x As Integer
   Dim i As Integer
   x= Forms!RECHERCHE!ListMachine.ListCount
 
   If x=0 Then
      MsgBox "Il n'y a aucun(s) élément(s) dans la liste"
   Else
      For i=0 To x-1
         DoCmd.OpenForm "FM_MACHINE_DE_PROD", , , [CLE_MACHINE]=Forms!RECHERCHE!ListMachine.Column(0, i)
         DoCmd.OpenReport "E_FicheTechnique"
         DoCmd.PrintOut "E_FicheTechnique"
         DoCmd.Close "E_FicheTechnique"
         DoCmd.Close "FM_MACHINE_DE_PROD"
      Next i
   End If
 
End Sub
Je pensais mon code bon mais l'on m'affiche l'erreur '2465' "Microsoft Office Access ne trouve pas dans le champ '|' auquel il est fait référence dan votre expression"

et le débugueur me surligne la ligne DoCmd.OpenForm "FM_MACHINE_DE_PROD"etc...

Une idée ?
carlito0205 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 15h04   #2
Membre confirmé
 
Homme
Chercheur
Inscription : juin 2011
Messages : 150
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Tarn (Midi Pyrénées)

Informations professionnelles :
Activité : Chercheur
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : juin 2011
Messages : 150
Points : 231
Points : 231
Bonjour,

Il manque des guillemets pour encadrer votre condition de filtrage :

Code :
"[CLE_MACHINE]=" & Forms!RECHERCHE!ListMachine.Column(0, i)
Bcdt
fbtsra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 15h42   #3
Invité de passage
 
Homme charles palhon
Étudiant
Inscription : juin 2011
Messages : 14
Détails du profil
Informations personnelles :
Nom : Homme charles palhon
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : Associations - ONG

Informations forums :
Inscription : juin 2011
Messages : 14
Points : 3
Points : 3
Merci ya déjà du mieux.
La première page de la liste sort de mon imprimante nickel.

Mais tout de suite après j'ai un autre message d'erreur:
Erreur '13', incompatibilité de type

et le débugueur m'affiche la ligne:
Code :
DoCmd.PrintOut "E_FicheTechnique"
comme source du problème.
carlito0205 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 16h18   #4
Membre confirmé
 
Homme
Chercheur
Inscription : juin 2011
Messages : 150
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Tarn (Midi Pyrénées)

Informations professionnelles :
Activité : Chercheur
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : juin 2011
Messages : 150
Points : 231
Points : 231
Dans votre code c'est :

Code :
DoCmd.OpenReport "E_FicheTechnique"
qui imprime car vous n'avez pas saisi d'argument et celui par défaut est
acViewNormal qui vous génère une impression.

La ligne de code qui généère l'erreur n'est donc pas nécessaire. L'erreur par elle même est liée au nom respect des arguments de type :

Code :
DoCmd.PrintOut [imprimer][, depage, àpage][, qualitéimpression][, copies][, copiestriées]
Bcdt
fbtsra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 09h43   #5
Invité de passage
 
Homme charles palhon
Étudiant
Inscription : juin 2011
Messages : 14
Détails du profil
Informations personnelles :
Nom : Homme charles palhon
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : Associations - ONG

Informations forums :
Inscription : juin 2011
Messages : 14
Points : 3
Points : 3
c'est bon!! ça fonctionne!!
Merci beaucoup c'était exactement ça, un problème d'arguments.
Au final mon code donne ça:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
Private Sub Catalogue_Click()
 
Dim x As Integer
Dim i As Integer
 
x = Forms!RECHERCHE!ListMachine.ListCount
 
If x=0 Then
     MsgBox="il n'y a aucun(s) élément(s) dans la liste"
Else
 
     For i = 0 To x - 1
          DoCmd.OpenForm "FM_MACHINE_DE_PROD", , , "[CLE_MACHINE] =" & Forms!RECHERCHE!ListMachine.Column(0, i)
          DoCmd.OpenReport "E_FicheTechnique", acViewPreview
          DoCmd.PrintOut , 1, 1, acMedium, 1, False
          DoCmd.Close acReport, "E_FicheTechnique", acSavePrompt
          DoCmd.Close acForm, "FM_MACHINE_DE_PROD", acSavePrompt
     Next i
 
End If
End Sub
carlito0205 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 09h55   #6
Invité de passage
 
Homme charles palhon
Étudiant
Inscription : juin 2011
Messages : 14
Détails du profil
Informations personnelles :
Nom : Homme charles palhon
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : Associations - ONG

Informations forums :
Inscription : juin 2011
Messages : 14
Points : 3
Points : 3
j'aurais une autre question concernant le principe de ce catalogue.

Y aurait-il un moyen d'avoir l'aperçu avant impression du catalogue? c'est-à-dire avec toutes mes fiches techniques dans le meme aperçu ?

En y réfléchissant je me suis dit que la seule manière était de créer au sein d'une procédure, un nouvel état "E_Catalogue" qui se construirait à partir des autres états "E_FicheTechnique" (une sorte de concaténation de mes "E_FicheTechnique" qui formerait le "E_Catalogue").
Enfin demander l'ouverture de cet état en mode aperçu.

Ensuite je créerais une autre procédure qui supprimerait l'état "E_Catalogue" sur sa fermeture.

Ca vous semble possible ?
carlito0205 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 10h19   #7
Membre confirmé
 
Homme
Chercheur
Inscription : juin 2011
Messages : 150
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Tarn (Midi Pyrénées)

Informations professionnelles :
Activité : Chercheur
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : juin 2011
Messages : 150
Points : 231
Points : 231
Bonjour,

Oui ca ma semble possible et pourrait même simplifier votre code joint si votre état E_FicheTechnique est construit en conséquence.

Vous pourriez alors en lieu en place de la boucle dans votre code, utiliser un filtre pour ouvrir l'état E_FicheTechnique (qui deviendrait le catalogue) en mode visualisation et donc imprimable directement.

Bcdt
fbtsra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 10h55   #8
Invité de passage
 
Homme charles palhon
Étudiant
Inscription : juin 2011
Messages : 14
Détails du profil
Informations personnelles :
Nom : Homme charles palhon
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : Associations - ONG

Informations forums :
Inscription : juin 2011
Messages : 14
Points : 3
Points : 3
et oui,
j'y avais pensé mais je ne peux pas à cause de ce qui compose mon état "E_FicheTechnique" (si j'ai bien compris ce que vous me suggérez).

J'avais d'abord pensé à faire afficher "E_FicheTechnique" sans aucuns filtres (donc j'aurais eu toutes les fiches techniques), puis créer un filtre au sein de ma procédure en désignant les "[CLE_MACHINE]" a conserver. Ensuite demander l'affichage en mode aperçu de mon "E_FicheTechnique" filtré.

Mais:

Mon état "E_FicheTechnique" affiche un sous-état en fonction d'une valeur
enregistrée sur mon formulaire "FM_MACHINE_DE_PROD". Une sorte d'affichage de caractéristiques spécifiques en fonction du type de machine (code basé sur un ).
Le problème est donc que j'aurais le meme sous-etat affiché pour toutes mes machines alors que clairement plusieurs machines ont des caractéristiques spécifiques différentes.

Moi je veux un aperçu d'un catalogue qui contiendrait toutes les fiches techniques de mes machines avec chacunes le bon sous-état correspondant.

D'où la piste que j'ai lancée vers un autre raisonnement

(ardu je sais lol)
carlito0205 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 11h55   #9
Membre confirmé
 
Homme
Chercheur
Inscription : juin 2011
Messages : 150
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Tarn (Midi Pyrénées)

Informations professionnelles :
Activité : Chercheur
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : juin 2011
Messages : 150
Points : 231
Points : 231
D'après votre description, il y a une relation entre vos tables contenant les données permettant de créer l'état Fiches Techniques et les données permettant de créer le sous-état Caractéristiques Spécifiques.

Si c'est bien le cas vous ne devez pas rencontrez le pb que vous évoquez et pouvez baser vos états sur une requête intégrant la liaison avec ces tables.

Bcdt
fbtsra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 14h12   #10
Invité de passage
 
Homme charles palhon
Étudiant
Inscription : juin 2011
Messages : 14
Détails du profil
Informations personnelles :
Nom : Homme charles palhon
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : Associations - ONG

Informations forums :
Inscription : juin 2011
Messages : 14
Points : 3
Points : 3
c'est vrai vous avez raison, ce lien entre mes caractéristiques générales et les caractéristiques spécifiques éxiste via une [CLE_NATURE]. En fonction de la [CLE_NATURE] associée à ma machine, il apparait dans le sous-état de mon "E_FicheTechnique" les caractérisiques spécifiques qui m'intéresses.

Cependant il y a encore d'autre raisons (autre sous-formulaire qui affiche des photos, etc..) qui font que se serait la croix et la bannière de faire ainsi (pour moi en tout cas car je suis loin d'etre un expert).

Disons que j'aimerais bien trouver une solution dans le genre de la premiere piste que j'ai donné avec un état vide (ou une création d'état inclus dans la procédure) qui se remplit par concaténation de mes "E_FicheTechnique" successifs.

En tout cas je vous remercie d'hors et déjà pour l'aide que vous m'avez apporté jusqu'ici
carlito0205 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 15h19   #11
Membre confirmé
 
Homme
Chercheur
Inscription : juin 2011
Messages : 150
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Tarn (Midi Pyrénées)

Informations professionnelles :
Activité : Chercheur
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : juin 2011
Messages : 150
Points : 231
Points : 231
Bonjour,

Vous avez, je pense, une piste intéressante de Claude LELOUP dans le Forum IHM en cours "Orientation portait et paysage dans un état".

Bonne continuation pour la suite.

Bcdt
fbtsra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 17h00   #12
Invité de passage
 
Homme charles palhon
Étudiant
Inscription : juin 2011
Messages : 14
Détails du profil
Informations personnelles :
Nom : Homme charles palhon
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : Associations - ONG

Informations forums :
Inscription : juin 2011
Messages : 14
Points : 3
Points : 3
à vous aussi et encore merci.
Si je trouve une solution je viendrais la publier
carlito0205 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 00h40.


 
 
 
 
Partenaires

Hébergement Web