IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Fixer la mise en page de mes états [AC-2003]


Sujet :

Access

  1. #1
    Membre habitué Avatar de taz devil
    Homme Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Avril 2012
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Alimentation

    Informations forums :
    Inscription : Avril 2012
    Messages : 298
    Points : 141
    Points
    141
    Par défaut Fixer la mise en page de mes états
    bonjour
    voila j ai créer plusieurs base de données access 2003 mais j ai un soucis au niveau de mes états en fait mes base de données on pour but de sortir des états en fin de manipulation jusque la tous ce passe bien mon soucis est que je possède un parc de 30 imprimantes thermique et de marque différentes environs 4 marque différentes et a chaque fois que je fais une modification sur les bases je dois aussi modifier la mise en page de tous les états de tous les bases
    ma question est simple aurai t il en moyen par un code vba de fixer la mise en page de mes états
    J ai eu a voir cette réponse de RobiPMS
    http://www.developpez.net/forums/d17...-etats-access/
    mais je n arrive pas a appliqué a mes états
    merci
    il faut de tout pour faire un monde

  2. #2
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Bonjour taz devil.

    Quelles sont les marges que tu veux fixer (gauche, droite, haut bas). Quel est le nom de l'état (ou d'un des états) auquel tu veux appliquer ces marges?
    Dernière question, poste le code que tu utilises pour imprimer cet état?

    A+

    RL
    N'oubliez pas de tagguer la discussion comme résolue si vous avez été aidé!
    Plus haut monte le singe, plus il montre son cul (Montaigne)
    Je ne réponds pas aux messages personnels concernant des questions discutées dans le forum.

  3. #3
    Membre habitué Avatar de taz devil
    Homme Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Avril 2012
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Alimentation

    Informations forums :
    Inscription : Avril 2012
    Messages : 298
    Points : 141
    Points
    141
    Par défaut Je n Utilise q une requete sql pour impression de état
    Bonjour RobiPMS
    je te joins une base simplifiée . je n est pu incoropé qu un code sql a cette état .
    Pour les marges c du 0 partout et pour la taille c est 80 x 297 mm . Mode Portrait

    merci
    Fichiers attachés Fichiers attachés
    il faut de tout pour faire un monde

  4. #4
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Bonjour Taz.

    Voici ce que j'ai fait :
    1. J'ai créé un module "Impression" où j'ai mis les déclarations et la fonction nécessaire à la définition des marges de l'état (comme indiqué dans mon post auquel tu te réfères dans le premier message). Dans la fonction, j'ai défini les quatre marges sur 0.
    Les déclarations :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    Option Compare Database
    Option Explicit
    Dim Msg, Style, Response, MyString
    Private Type ch_PRTMIP
    chRGB As String * 28
    End Type
     
    Private Type type_PRTMIP
    xMargeGauche As Long
    yMargeHaut As Long
    xMargeDroite As Long
    yMargeBas As Long
    fDonnéesSeulement As Long
    xLargeur As Long
    yHauteur As Long
    fTailleDesEléments As Long
    xNombreDeColonnes As Long
    yEspacementDeColonnes As Long
    xEspacementDeLignes As Long
    rDisposition As Long
    fImpressionRapide As Long
    fFeuilleDeDonnées As Long
    End Type
     
    Private Type ch_DEVMODE
    RGB As String * 94
    End Type
    Private Type type_DEVMODE
    chNomPériphérique As String * 16
    entSpécVersion As Integer
    entVersionGestionnaire As Integer
    entTaille As Integer
    entExtraGestionnaire As Integer
    lngChamps As Long
    entOrientation As Integer
    entTaillePapier As Integer
    entLongueurPapier As Integer
    entLargeurPapier As Integer
    entEchelle As Integer
    entCopies As Integer
    entSourceDéfaut As Integer
    entQualitéImpression As Integer
    entCouleur As Integer
    entRectoverso As Integer
    entResolution As Integer
    entOptionTT As Integer
    entAssembler As Integer
    entNomFormulaire As String * 16
    lngPad As Long
    lngBits As Long
    lngPW As Long
    lngPH As Long
    lngDFI As Long
    lngDFr As Long
    End Type
    Et la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Public Sub Marges_à_0(Etat As String)
    Dim ChaînePrtMip As ch_PRTMIP
    Dim PM As type_PRTMIP
    Dim rpt As Report
    DoCmd.OpenReport Etat, acDesign
    Set rpt = Reports(Etat)
    ChaînePrtMip.chRGB = rpt.PrtMip
    LSet PM = ChaînePrtMip
    PM.xMargeGauche = 0     ' une marge à 0 twip devrait être = à 0mm. (1twip = 25,4/1440mm)
    PM.yMargeHaut = 0
    PM.xMargeDroite = 0
    PM.yMargeBas = 0
    LSet ChaînePrtMip = PM ' Met à jour la propriété.
    rpt.PrtMip = ChaînePrtMip.chRGB
    DoCmd.Close acReport, Etat, acSaveYes
    End Sub
    Et dans la commande d'impression du formulaire, j'utilise cette fonction pour définir les marges de l'état
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Imp_Boutique_Click()
    Marges_à_0 "E_Tichets"        'applique la fonction créée dans le module Impression à l'état concerné
    DoCmd.OpenReport "E_Tichets", acViewNormal, "", "", acNormal
        DoCmd.OpenQuery "R_Donneecaisse", acViewNormal, acEdit
        DoCmd.OpenQuery "R_Confection_Del", acViewNormal, acEdit
        DoCmd.Requery "F_Caisse_Brioche_Sf"
    End Sub
    Je n'ai évidemment pas pu essayer, je n'ai pas d'imprimante qui accepte les marges à 0!
    Pour résumer, la fonction ouvre l'état en mode création et définit la mise en page, enregistre et ferme. Puis tu lances l'impression normalement. Voici la base zippée : Brioche_Caisse.zip
    J'espère que cela te permettra de solutionner ton problème.
    Cordialement,
    R.L.
    N'oubliez pas de tagguer la discussion comme résolue si vous avez été aidé!
    Plus haut monte le singe, plus il montre son cul (Montaigne)
    Je ne réponds pas aux messages personnels concernant des questions discutées dans le forum.

  5. #5
    Membre habitué Avatar de taz devil
    Homme Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Avril 2012
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Alimentation

    Informations forums :
    Inscription : Avril 2012
    Messages : 298
    Points : 141
    Points
    141
    Par défaut Pour les marges c est parfait . Mais ya un soucis sur la taille
    Bonjour RobiPMS
    Pour les marges c du 0 partout et Mode Portrait Sa passe Nickel

    Mais pour la taille c est 80 x 297 mm La Ya un soucis pour certaine imprimante le tichet se coupe. En faite au lieu avoir 1 tichet on n a 2 tichets

    Merci a toi RobiPMS
    il faut de tout pour faire un monde

  6. #6
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Bonjour Taz devil.

    Sans garantie (je n'ai pas de quoi essayer!!!) :
    Essaye ceci comme code pour la fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    Public Sub Marges_à_0(Etat As String)
    Dim ChaînePrtMip As ch_PRTMIP
    Dim PM As type_PRTMIP
    Dim rpt As Report
    DoCmd.OpenReport Etat, acDesign
    Set rpt = Reports(Etat)
    ChaînePrtMip.chRGB = rpt.PrtMip
    LSet PM = ChaînePrtMip
    PM.xMargeGauche = 0     ' une marge à 0 twip devrait être = à 0mm. (1twip = 25,4/1440mm)
    PM.yMargeHaut = 0
    PM.xMargeDroite = 0
    PM.yMargeBas = 0
    PM.yHauteur = 4535
    PM.xLargeur = 16837
    LSet ChaînePrtMip = PM ' Met à jour la propriété.
    rpt.PrtMip = ChaînePrtMip.chRGB
    DoCmd.Close acReport, Etat, acSaveYes
    End Sub
    Et je serais curieux de savoir si ça marche.
    Cordialement,
    RL
    N'oubliez pas de tagguer la discussion comme résolue si vous avez été aidé!
    Plus haut monte le singe, plus il montre son cul (Montaigne)
    Je ne réponds pas aux messages personnels concernant des questions discutées dans le forum.

  7. #7
    Membre habitué Avatar de taz devil
    Homme Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Avril 2012
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Alimentation

    Informations forums :
    Inscription : Avril 2012
    Messages : 298
    Points : 141
    Points
    141
    Par défaut Je test sa et je te di
    merci encore
    il faut de tout pour faire un monde

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mise en page d'un état crystal report
    Par tinhinan6 dans le forum SAP Crystal Reports
    Réponses: 8
    Dernier message: 13/11/2014, 17h44
  2. problème de mise en page d'un état
    Par dodie84 dans le forum IHM
    Réponses: 0
    Dernier message: 29/04/2008, 15h30
  3. Mise en page avec sous états
    Par PhRey dans le forum Access
    Réponses: 4
    Dernier message: 06/03/2007, 16h21
  4. Pb de mise en page avec les états
    Par clov dans le forum IHM
    Réponses: 2
    Dernier message: 19/07/2006, 08h05
  5. La mise en page de mes états ne se fixe pas
    Par bitou11 dans le forum IHM
    Réponses: 2
    Dernier message: 30/01/2006, 17h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo