Access pb de nbr de page lors de l'impression

Résolu
jeinny Messages postés 135 Statut Membre -  
jeinny Messages postés 135 Statut Membre -
Bonjour,

Voila j'ai un petit problme vous allez surment me dire que c'est simple mais je ne comprends pas et je n'arrive pas à y remédier.

Voila, en gros j'ai un état avec un sous-état qui présente un emprunt de divers matériel pour un client. Le problème est que quand je veux l'imprimer il me l'imprime en autant de page qu'il y a de matériel empruntés pourtant ils sont tous marqués sur toutes les pages. Je ne comprends pas dui tout pourquoi !!!

Si vous avez des idées pour m'aider je suis preneuse !!!

Merci d'avance
Configuration: Windows XP
Internet Explorer 7.0

14 réponses

  1. LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   550
     
    Pour ça il faudrait que tu nous dises ce qu'il y a dans la requête alimentant le formulaire, mais je pense que je le sais déjà.

    C'est vraisemblablement ton sous-état qui met le bazar. Généralement, dans les états, on s'en tire bien mieux avec un regroupement.

    Garde la même reque^te, mais crée l'état en faisant un regroupement par client, à mon avis ça sera nettement mieux.
    0
    1. jeinny Messages postés 135 Statut Membre 26
       
      bonjour,

      mais je ne sai pas cmt faire un regroupement !!
      il fau que je recommence mon état en entier ??
      mais je veu imprimer un page par client mais une par une pas toute en même temps !!
      est-ce possible ?? et aussi d'en imprimer en 4exemplaire en même temps??

      Merci
      0
  2. LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   550
     
    Tout ça est possible, mais je ne peux pas faire un cours complet d'Access par correspondance.

    Alors dis moi déjà comment tu as créé cet état, et je t'aiderai pour la suite. Je voudrais par exemple la requête sur laquelle il est basé.
    Mais à vue de pif oui, il vaut mieux tout reprendre.
    0
    1. jeinny Messages postés 135 Statut Membre 26
       
      alors cet état est basé sur la requête suivante:

      SELECT Detail_Emprunt.N°Emprunt, Detail_Emprunt.DateCde, Detail_Emprunt.LibManif, Detail_Emprunt.LieuManif, Detail_Emprunt.N°Club, Detail_Emprunt.Description, Detail_Emprunt.Autres, Detail_Emprunt.N°Emp, Detail_Emprunt.N°Pers, Detail_Emprunt.DateDeb, [EmpruntM].N°Mat, Materiel.LibMat, Materiel.Caractéristiques, Empunteur.NomE, Empunteur.PrenomE, Empunteur.TelE, Detail_Emprunt.DateFin, Club.N°Club, Club.NomClub, Personnel.N°Pers, Personnel.NomPers, Personnel.PrenomPers, [ReqMat].N°Mat
      FROM (Personnel INNER JOIN Liste_Personnel ON Personnel.N°Pers=Liste_Personnel.N°Pers) INNER JOIN ((((Materiel INNER JOIN Liste_Materiel ON Materiel.N°Mat=Liste_Materiel.N°Mat) INNER JOIN MatEmpuntés ON Materiel.N°Mat=[MatEmpuntés].N°Mat) INNER JOIN ReqMat ON Materiel.N°Mat=[ReqMat].N°Mat) INNER JOIN (Empunteur INNER JOIN (((Club INNER JOIN Liste_Club ON Club.N°Club=Liste_Club.N°Club) INNER JOIN Detail_Emprunt ON Club.N°Club=Detail_Emprunt.N°Club) INNER JOIN EmpruntM ON Detail_Emprunt.N°Emprunt=[EmpruntM].N°EmpruntA) ON Empunteur.N°Emp=Detail_Emprunt.N°Emp) ON Materiel.N°Mat=[EmpruntM].N°Mat) ON Personnel.N°Pers=Detail_Emprunt.N°Pers
      WHERE (((Club.N°Club)=formulaire!EmpruntMat1!N°Club) And ((Personnel.N°Pers)=formulaire!EmpruntMat1!N°Pers)) Or (((Detail_Emprunt.N°Emprunt)=Formulaires!EmpruntMat1!N°Emprunt));


      un peu compliqué !!!! (DESOLE) mais en fète j'ai choisi mes champs un par un vu que je n'y arivait pas

      et la requète du sous-état:

      SELECT [ReqMat].N°Mat, [ReqMat].LibMat, [ReqMat].Caractéristiques, [ReqMat].N°EmpruntA
      FROM ReqMat;

      Mais en gros pour l'état principal "Fiche_Emprunt" c'est les même champs que mon formulaire principal "EmpruntMat1"
      et le sous-état "Fiche_Emprunt2" les même champs que le sous-formulaire "EmpruntMat2"

      voila
      j'espere que sa t'aidera a comprendre mon problème
      0
  3. LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   550
     
    Bon, j'ai pas forcément tout compris, par exemple pourquoi tu fais figurer les tables Liste personnel et Liste matériel alors que je n'ai vu aucun champ issu de ces tables dans la requête. Mais c'est pas très important.

    Je ne sais pas comment tu crées tes états? Si tu utilises les Assistants (Ce que, perso, je recommande pour les formulaires et les états) tu interviens au moment oùil te demande si tu veux ajouter un niveau de regroupement.
    Si tu les fais "à la main", une fois ton état créé, tu cliques sur un bouton de la barre d'outils qui s'appelle Trier et grouper, et tu y mets le champ qui doit servir pour le regroupement.
    Par exemple, Client.

    Et si tu veux une liste des tous les matériels empruntés, même en plusieurs fois, tu fais un deuxième regroupement sur le numéro d'emprunt. Tu vois le principe?

    Et ensite, pour n'imprimer qu'une fiche à la fois, tu mets un critère, soit sur le client, soit sur le N°Emprunt, comme tu l'as fait dans la requête que tu m'as envoyée.

    Pour l'impression de ton état en 4 exemplaires, après l'avoir ouvert, tu écris
    DoCmd.PrintOut acPrintAll, , , acHigh, 4, False

    ----

    Pourquoi se compliquer la vie à faire simple, quand c'est si simple de faire compliqué?
    0
    1. jeinny Messages postés 135 Statut Membre 26
       
      Bonjour,

      - pour le problème des champs de la "table" ListeMatéreil et ListePersonnel c'est normal parce que ce n'est pas des tables mas des requêtes.

      - Et oui je créé mes états (et formulaires) avec l'assistant mais j'ai mis un regroupement par emprunt et par adhérent et par matériel. Donc c'est pour ça que je ne comprend pas pouquoi ça ne marche pas !!

      - Et je ne veux pas de liste des matériel empruntés par tous les adhérents mais pour CHAQUE adhérents.?

      - Et je te remerci pour le code pour l'impression en 4 fois mais je voulai savoir je doit mettre ce bout de code à la place de " DoCmd.OpenReport stDocName, acNormal " ??

      Et donc ça me donne le code suivant? :

      Private Sub BtnImprimer_Click()
      On Error GoTo Err_BtnImprimer_Click

      Dim stDocName As String

      stDocName = "Fiche_Emprunt"
      DoCmd.OpenReport stDocName, acNormal
      DoCmd.PrintOut acPrintAll, , , acHigh, 4, False
      Exit_BtnImprimer_Click:
      Exit Sub

      Err_BtnImprimer_Click:
      MsgBox Err.Description
      Resume Exit_BtnImprimer_Click

      End Sub


      - Et si j'imprime le formualire cela ne sera pas plus simple que de faire un état ou ce n'est pas la même chose?

      Merci
      0
      1. jeinny Messages postés 135 Statut Membre 26 > jeinny Messages postés 135 Statut Membre
         
        re,

        j'ai tout essayé pour les groupements et ça m'affiche tous les emprunts peut-être trié mais moi je veux qu'UN emprunt par feuille et surtout qu'il me sorte que celui que je veux en fonction de l'emprunt ou de l'emprunteur (ça revient à la même chose vu qu'UN emprunt ne correspond qu'à UN adhérent)

        Voila merci
        0
  4. LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   550
     
    c4EST AU NIVEAU DE TON wher QUE JE M4INTERROGE/

    WHERE (((Club.N°Club)=formulaire!EmpruntMat1!N°Club) And ((Personnel.N°Pers)=formulaire!EmpruntMat1!N°Pers)) Or (((Detail_Emprunt.N°Emprunt)=Formulaires!EmpruntMat1!N°Emprunt));

    A quoi sert la partie en gras si tu veux l'emprunt du formulaire??? Access risque de ne pas comprendre...
    0
    1. jeinny Messages postés 135 Statut Membre 26
       
      ba c'est vrai que c'est 2champs me pose problème mais c'est vrai que je n'y pas pris beaucoup attention !!
      en faite a chaque fois que je lance mon formaulaire en mode formaulaire il me demande de taper dans une boite de dialogue le n° de club et ensuite celui du personnel !!

      donc our répondre a ta question ba je ne sait pas trop pourquoi je l'ai mis dans le WHERE et pa dans les champs normal j'ai peut-être fait ça parce que c'était des liste déroulante dans le formulaire je siat pas!! (ça fait lontemps que je l'ai fait!)

      Donc je dois les mettre dans le SELECT normal ??
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   550
     
    Et en les virant purement et simplement? A priori ils ne servent à rien.
    0
    1. jeinny Messages postés 135 Statut Membre 26
       
      ba je veu bien les virer mais le truc c'est que j'en est besoin dans mon état enfin pas du N° propre mais des libéllé avec !!
      0
  7. LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   550
     
    Tu les vires juste du WHERE.

    Si ton état fait référence à un emprunt puisque tu demandes
    WHERE (Detail_Emprunt.N°Emprunt)=Formulaires!EmpruntMat1!N°Emprunt;

    tu n'as pas besoin de rajouter les autres champs dans le WHERE puisqu'à un emprunt correspondent déjà un Club et une personne.
    0
    1. jeinny Messages postés 135 Statut Membre 26
       
      ok dak c'est fait
      0
      1. LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   550 > jeinny Messages postés 135 Statut Membre
         
        Et ça fonctionne, ou quoi?
        0
  8. jeinny Messages postés 135 Statut Membre 26
     
    ba ouè sa me met plus les boite de dialogue mais bon ça me mat toujour autan de page qu'avant c-a-d autan de page qu'il y a de matériel emprunté
    0
    1. jeinny Messages postés 135 Statut Membre 26
       
      fo ke ji aille je revien ver 13h30 peu tètre a tt a leur
      0
  9. LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   550
     
    Est ce qu'il peut y avoir plusieurs matériels pour un seul emprunt?

    Si oui, il fait sans doute revoir la structure de l'état. Mets le en création et dis moi toutes les sections qu'il contient (En tête d'état, en tête de page, en-tête de groupe...) et les champs qu'il y a dedans. Je sais c'est fastidieux mais sinon je ne peux pas t'aider!

    Regarde aussi s'il y a des sauts de page, on ne sait jamais...
    0
    1. jeinny Messages postés 135 Statut Membre 26
       
      oui bien sur il peu y avoir plusieur matériel pour un emprunt.

      Etat principal

      En-tête d'état
      (titre):Fiche Emprunt de Matériel

      En-tête de page

      Detail
      N°emprunt: N°Emprunt
      Date de la commande: DateCde
      Manifestation: =Formulaires!EmpruntMat1!LibManif
      Lieu: =Formulaires!EmpruntMat1!LieuManif
      Autres: =Formulaires!EmpruntMat1!Autres
      Club: =Formulaires!EmpruntMat1!N°Club
      Personnel responsable: =Formulaires!EmpruntMat1!N°Pers (liste déroulante ou jai mis 2colonnes avec la colonne du numéro caché et ou on voi donc apparaitre que le nom de la personne)
      Prenom personnel: PrenomPers
      Date début: =Formulaires!EmpruntMat1!DateDeb
      Date retour: =Formulaires!EmpruntMat1!DateFin
      Nom: NomE (Nom de l'emprunteur)
      Prénom: PrenomE (prénom de l'emprunteur)
      Tel: TelE (téléphone de l'emprunteur)
      Matériel emprunter: étiquette pour le sous état

      Sous état:

      En-tête d'état
      Libellé matériel: étiquette
      Caractéristiques: étiquette

      En-tête de page

      Détail
      LibMat: (sachant que ce ne sont pas les matériaux qui viennent directement de la table MATERIEL mais de la requête Req que je t'ai donné précédemment)
      Caractéristiques (idem)
      Pied de page(sous-état)

      <gars>Pied d'état</gars> (sous-état)

      Pied de page (état principal)
      date du jour: =Maintenant()

      Pied d'état (état principal)
      0
  10. jeinny Messages postés 135 Statut Membre 26
     
    et j'ai regardé pour les saut de page il n'y a pas l'air d'en avoir en tout cas moi je n'en est pas mis !!
    0
  11. LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   550
     
    Oh là, mais tu as zappé ce que je te disais au post 2!!!!!!!!

    Vire le sous-état, et fais un regroupement par emprunt.

    Je voudrais pas avoir l'air pénible, mais on est au poste 20 et tu n'as toujours pas fait ce que j'ai dit 17 posts plus haut!!!

    Je sais pas si je donne l'impression d'avoir tant que ça de temps à perdre, mais en fait, non, pas du touit.
    0
  12. jeinny Messages postés 135 Statut Membre 26
     
    mais je t'ai dit que je 'avai fait mais ça ne marchait pas donc je l'ai enlevé et vu qe sa ne me faisait pas du tout se que je cherchait ba voila
    bref je vais le refaire sa prend 3sec et je te renvoi les BON truc
    désolé
    0
  13. jeinny Messages postés 135 Statut Membre 26
     
    En-tête d'état
    (titre):Fiche Emprunt de Matériel

    En-tête de page

    En-tête de groupe N°Emprunt
    N°emprunt: N°Emprunt
    Date de la commande: DateCde
    Manifestation: =Formulaires!EmpruntMat1!LibManif
    Lieu: =Formulaires!EmpruntMat1!LieuManif
    Autres: =Formulaires!EmpruntMat1!Autres
    Club: =Formulaires!EmpruntMat1!N°Club
    Personnel responsable: =Formulaires!EmpruntMat1!N°Pers (liste déroulante ou jai mis 2colonnes avec la colonne du numéro caché et ou on voi donc apparaitre que le nom de la personne)
    Prenom personnel: PrenomPers
    Date début: =Formulaires!EmpruntMat1!DateDeb
    Date retour: =Formulaires!EmpruntMat1!DateFin
    Nom: NomE (Nom de l'emprunteur)
    Prénom: PrenomE (prénom de l'emprunteur)
    Tel: TelE (téléphone de l'emprunteur)
    Matériel: étiquette
    Libellé matériel: étiquette
    caractéristique: étiquette


    Detail
    N°Mat
    LibMat
    caractéristiques

    Pied de page
    date du jour: =Maintenant()

    Pied d'état
    0
  14. LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   550
     
    Mmmmmh... je comprends pas trop.

    Pourquoi certains champs viennent-ils d'une table et d'autres du formulaire???

    Bâtis déjà une requête, où tu prends les champs qui t'intéressent, et où tu rajoutes le critère Forms!NomFormulaire!N°Emprunt.

    Là, c'est normal que ça ne fonctionne pas!!! Tu lui demandes de récupérer TOUS les emprunts, mais d'afficher la manif, le lieu, les dates etc du formulaire!!! C'est pas du tout logique. Et comme Access est bête et discipliné, ils t'affiche TOUS tes emprunts, avec les infos de celui présent dans le formulaire, sans se poser de questions...
    0
    1. jeinny Messages postés 135 Statut Membre 26
       
      Aaah ok, j'ai compri !! bon ba je me met a çaq alor et je te dit le résultat
      Merci
      0
      1. jeinny Messages postés 135 Statut Membre 26 > jeinny Messages postés 135 Statut Membre
         
        c bon !!!!!!
        merci beaucoup ça marche !!!
        merci beaucoup é encore !!!
        0
  15. jeinny Messages postés 135 Statut Membre 26
     
    Excuse moi encore mais j'ai une dernière question, tu m'a dit de mettre DoCmd.PrintOut acPrintAll, , , acHigh, 4, False pour imprimer en 4 fois mais je dois le mettre ou ? sur un bouton du formulaire ?
    et est-ce que je doit enlevé c e morceau de code ala place: DoCmd.OpenReport stDocName, acNormal ??
    encore merci
    0