Bonjour,
Dans ma BD DEVIS, j’ai créé 2 requêtes : la 1ère ELEMENTPROPOSITION et la 2nd ELEMENTPROPOSITIONGEO.
Ces 2 requêtes distinguent le type de générateur, ainsi pour la requête GEO il s’agit des générateurs 6 et 7 et tous les autres pour l’autre requête.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT RqDEVIS.NUMDEVIS, RqDETAILGENE.GENEDEVIS, RqDEVIS.CODECOMMERCIAL, CLIENTPROJET.PROJVILLE, RqDEVIS.CHAMPSTATION, RqDEVIS.ALTTERRAIN, STATION.ZC, STATION.NUMDEPTSTATION, STATION.LIBDEPTSTATION, STATION.LIBSTATION, STATION.DJUSTATION, [R TEBC DEVIS].TEBC, RqDEVIS.TIB, RqDEVIS.G, RqDEVIS.SURFACE, RqDEVIS.VOLUME, RqDEVIS.Deperditiontotale, RqDEVIS.Puissanceainstaller, RqDETAILGENE.GenePuissance, RqDETAILGENE.GeneCOP, RqDETAILGENE.[GenePuissance consom], RqDETAILGENE.GeneAppointElec, RqDETAILGENE.GeneAlimElec, RqDETAILGENE.GeneClasseEnergetique, RqDETAILGENE.[GenePuissance Restituee], RqDETAILGENE.GeneETAS, RqDETAILGENE.GeneEnclenchAppoint, RqDETAILGENE.GeneDISJONCTEXT, RqDETAILMODULEHYDRAU.MODDSIJONCT, RqDEVIS.PUISSANCEREELLE, RqDEVIS.PUISSANCETOTALAPPOINT FROM (RqDETAILMODULEHYDRAU INNER JOIN ([R TEBC DEVIS] INNER JOIN (RqDETAILGENE INNER JOIN (RqDEVIS INNER JOIN STATION ON RqDEVIS.CHAMPSTATION = STATION.CODSTATION) ON RqDETAILGENE.GENEDEVIS = RqDEVIS.NUMDEVIS) ON [R TEBC DEVIS].NUMDEVIS = RqDEVIS.NUMDEVIS) ON RqDETAILMODULEHYDRAU.MODULEDEVIS = RqDEVIS.NUMDEVIS) INNER JOIN CLIENTPROJET ON RqDEVIS.PROJCLI = CLIENTPROJET.IDPROJET;J’ai créé 5 devis : 3 devis de générateurs divers, 1 devis pour le générateur 6 et 1 devis pour générateur 7.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT RqDEVIS.NUMDEVIS, RqDETAILGENE.GENEDEVIS, RqDEVIS.TYPEGENRATEUR, RqDEVIS.CODECOMMERCIAL, CLIENTPROJET.PROJVILLE, RqDEVIS.CHAMPSTATION, RqDEVIS.ALTTERRAIN, STATION.ZC, STATION.NUMDEPTSTATION, STATION.LIBDEPTSTATION, STATION.LIBSTATION, STATION.DJUSTATION, [R TEBC DEVIS].TEBC, RqDEVIS.TIB, RqDEVIS.G, RqDEVIS.SURFACE, RqDEVIS.VOLUME, RqDEVIS.Deperditiontotale, RqDEVIS.Puissanceainstaller, RqDETAILGENE.GenePuissance, RqDETAILGENE.GeneCOP, RqDETAILGENE.[GenePuissance consom], RqDETAILGENE.GeneAppointElec, RqDETAILGENE.GeneAlimElec, RqDETAILGENE.GeneClasseEnergetique, RqDETAILGENE.[GenePuissance Restituee], RqDETAILGENE.GeneETAS, RqDETAILGENE.GeneEnclenchAppoint, RqDETAILGENE.GeneDISJONCTEXT, RqDEVIS.PUISSANCEREELLE, RqDEVIS.PUISSANCETOTALAPPOINT FROM ([R TEBC DEVIS] INNER JOIN (RqDETAILGENE INNER JOIN (RqDEVIS INNER JOIN STATION ON RqDEVIS.CHAMPSTATION = STATION.CODSTATION) ON RqDETAILGENE.GENEDEVIS = RqDEVIS.NUMDEVIS) ON [R TEBC DEVIS].NUMDEVIS = RqDEVIS.NUMDEVIS) INNER JOIN CLIENTPROJET ON RqDEVIS.PROJCLI = CLIENTPROJET.IDPROJET WHERE (((RqDEVIS.TYPEGENRATEUR)=6 Or (RqDEVIS.TYPEGENRATEUR)=7));
J’ai créé 1 état ELEMENTPROPOSITION qui affiche les types divers et 1 état ELEMENTPROPOSITIONGEO qui affiche les types 6 et 7. Lorsque je les ouvre tout est OK.
J’ai inséré ces états dans les états DEVISPDF et DEVISGEOPDF et créé un bouton impression dans le devis avec le code évènementiel sur clic suivant :
Le problème est que lorsque je veux imprimer un devis de type 7 il s’ouvre le DEVISPDF au lieu du DEVISGEOPDF. Quant aux autres devis, type 6 DEVISGEOPDF et autre types DEVISPDF, ceux-ci s’impriment parfaitement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Private Sub Commande444_Click() On Error GoTo Err_Commande444_Click If Me.TYPEGENRATEUR = "6" And "7" Then DoCmd.OpenReport "DEVISGEOPDF", acNormal, , "[GENEDEVIS]='" & Me![NUMDEVIS] & "'" Else DoCmd.OpenReport "DEVISPDF", acNormal, , "[GENEDEVIS]='" & Me![NUMDEVIS] & "'" Exit_Commande444_Click: Exit Sub Err_Commande444_Click: MsgBox Err.Description Resume Exit_Commande444_Click End If End Sub
J’ai essayé de modifier le code en écrivant : « 6 » Or « 7 » au lieu de « And » mais là ça n’imprime plus que des DEVISGEOPDF.
Pourriez-vous m’expliquer d’où vient le problème car je me casse la tête depuis hier et je n’arrive pas à le corriger ? J'ai contrôlé les requêtes elles affichent bien 3 devis dans l'une et 2 dans l'autre; lorsque que j'ouvre les 2 états, ils affichent bien les bonnes informations, mais c'est quand je veux imprimer le devis complet (qui comprend plusieurs sous-états) que ça ne va pas.
Avec mes remerciements pour vos conseils,
Partager