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

FAQ MS-Access

FAQ MS-AccessConsultez toutes les FAQ

Nombre d'auteurs : 140, nombre de questions : 926, dernière mise à jour : 15 juin 2021 

 
OuvrirSommaireÉtatsImpressions

- Voir Comment insérer un numéro de ligne dans un état (voir lien en bas) pour ajouter un contrôle [NoLigne].

- Vous pouvez le masquer si vous ne l'utilisez pas (onglet Format, Visible = Non).

- Dans l'événement Sur impression de la section Détail (=Section(0)), copier :

 
Sélectionnez
Private Sub Détail_Print(Cancel As Integer, PrintCount As Integer) 
     ' Utiliser Détail_Print, PAS Détail_Format qui est appelé PLUSIEURS fois        
     If ([NoLigne] Mod 2) = 0 Then         
          Section(0).BackColor = vbWhite     
     Else         
          Section(0).BackColor = 13434879 
          ' Jaune pâle : joli et discret     
     End If 
End Sub

Bien entendu, vous pouvez remplacer le "Mod 2" par "Mod 3" pour changer de couleur une ligne sur trois seulement.

Pour trouver d'autres couleurs, voir Comment déterminer un code couleur quelconque dans Access (lien ci-dessous).

Créé le 12 mai 2004  par Papy Turbo

Lien : Comment insérer un numéro de ligne dans un état ?
Lien : Comment déterminer un code couleur quelconque dans Access ?

Ce code permet d'utiliser les états existants sous Access. Cochez les références à Access dans le projet Visual Basic et copiez le code approprié.

Ouverture de la base de données Access :

 
Sélectionnez
Dim MaDbMat As String
Dim MesEtats As Access.Application
   
MaDbMat = CurrentProject.Path & "\MaBase.mdb"

Set MesEtats = New Access.Application      
MesEtats.OpenCurrentDatabase MaDbMat, False

Pour imprimer un état sans le visualiser :

 
Sélectionnez
MesEtats.DoCmd.OpenReport "NomdeMonEtat", acViewNormal

Pour prévisualiser un état en mode plein écran :

 
Sélectionnez
MesEtats.Visible = True
MesEtats.DoCmd.OpenReport "NomdeMonEtat", acViewPreview
MesEtats.DoCmd.Maximize

Pour le mode Design en plein écran :

 
Sélectionnez
MesEtats.Visible = True
Mesetats.DoCmd.OpenReport "NomdeMonEtat", acViewDesign
MesEtats.DoCmd.Maximize
Créé le 1er janvier 2005  par khany

Lien : FAQ VB

Allez en mode création de votre état et faites Fichier/Mise en Page. Ensuite, dans l'onglet Page cliquez sur Utiliser une imprimante spécifique. Enfin, cliquez sur le bouton Imprimantes pour choisir celle que vous voulez utiliser, et validez votre choix.

Créé le 1er janvier 2005  par tee_grandbois

Dans un module, écrire la fonction suivante :

 
Sélectionnez
Public sub fgImprimeCopiesEtat(stEtat As String, itCopies As Integer)
 ' stEtat   : nom de l'état
 ' itCopies : nombre de copies
DoCmd.OpenReport stEtat, acViewPreview
DoCmd.PrintOut acPages, , , , itCopies
DoCmd.Close acReport, stEtat
End sub

Utilisation :

Sur un bouton Imprimer d'un formulaire :

 
Sélectionnez
fgImprimeCopiesEtat("MonEtat",3)

Ceci imprime trois exemplaires du même état.

Créé le 10 mai 2005  par tee_grandbois

Il faut utiliser la propriété Répéter section de l'en-tête de groupe concerné.

Créé le 25 octobre 2004  par FRED.G

Sur une Jet d'encre, il faut prévoir une marge de bas d'au moins 1.5 cm sans quoi une page blanche survient.
Vous ne rencontrerez pas ce problème avec une laser.

Donc à vous de réduire les contrôles de votre état de manière à ce qu'il n'y ait plus qu'une page et d'accorder vos marges en conséquence.
Si vous voulez connaître la tolérance maxi de vos marges allez dans Word, prenez un document vierge, mettez toutes les marges à zéro et validez.
Là, Word va vous proposer de corriger, prenez ces valeurs sur un bout de papier et appliquez-les à votre état.

Il est aussi envisageable que vous ayez un saut de page invisible ou une propriété de section qui possède un saut de page.

Créé le 20 novembre 2005  par argyronet

Lien : Comment éviter les pages blanches lorsque l'on imprime un état ?

1) Créer un compteur dans la section détail
Contrôle texte
Nom : compteur
Source contrôle : =1
Cumul : en continu

2) Créer un regroupement sur l'enregistrement
Menu Affichage/Trier regrouper
insérer le champ clef unique
En-tête de groupe : non
Pied de groupe : oui

3) Dans le pied de groupe réduit au maximum de sa hauteur, insérer un saut de page. Cliquer sur la zone pied de groupe et dans la propriété Au formatage
Ouvrir une procédure.
Y taper le code suivant :

 
Sélectionnez
Private Sub PiedGroupe0_Format(Cancel As Integer, FormatCount As Integer)
If Me.Compteur Mod 2 = 0 Then
   Me.PrintSection = True
Else
   Me.PrintSection = False
End If
End Sub

Chaque fois que le compteur aura une valeur paire (donc multiple de 2) le reste sera 0 et on imprime la section donc le saut de page.

Créé le 20 novembre 2005  par loufab
  1. Allez dans paramètres / imprimantes.
  2. Ajoutez une nouvelle imprimante.
  3. Prenez n'importe laquelle.
  4. Donnez le port LPT1.
  5. Déclarez par défaut ou pas.
  6. Ne testez pas de page d'impression.

Vous devez maintenant pouvoir travailler les états sans aucun problème.

Créé le 20 novembre 2005  par smicky77

Ce phénomène s'observe lorsque la dimension de l'état ne correspond pas à celle du papier.
À vérifier :

  • taille et orientation du papier ;
  • taille des marges.
Créé le 20 novembre 2005  par armagued

Cet exemple vous permet d'imprimer un document en PDF en le découpant page par page.

 
Sélectionnez
Dim i As Long
DoCmd.OpenReport "Commandes", acViewPreview
For i = 1 To Reports("Commandes").Pages
    DoCmd.PrintOut acPages, i, i
Next
Créé le 20 novembre 2005  par Maxence HUBICHE

En utilisant la boîte de dialogue du menu Affichage --> Trier et regrouper, dans les propriétés de cet en-tête de groupe, mettre la propriété Section insécable = Avec premier détail

Créé le 29 novembre 2006  par Papy Turbo

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2013 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.