none
Impression multiple avec plusieurs paramètres RRS feed

  • Question

  • Bonjour,

    j'imprime un état en plusieurs exemplaires avec un champ paramètre :(NBtarif1)=nombre de documents

    Option Compare Database
    Option Explicit
    Public intCompteur As Integer
    Private Sub Détail_Print(Cancel As Integer, PrintCount As Integer)
        If intCompteur >= (Me!NBtarif1) - 1 Then
            intCompteur = 0
        Else
            intCompteur = intCompteur + 1
            Me.NextRecord = False
            Me.Tarif = "10€"
        End If
    End Sub

    ça marche bien.

    Je désire imprimer avec plus de 1 paramètre : exemple (NBTarif1,NBTarif2 et NBTarif3) et je bloque !!

    Comment modifier mon code pour obtenir ce résultat ?

    merci d'avance pour votre aide

    Gilles


    Access 2010 - windows 7/64
    • Modifié GIBIBI74 samedi 24 mars 2018 10:34
    samedi 24 mars 2018 10:32

Toutes les réponses

  • Quelque chose du genre:

    If (intCompteur >= (Me!NBtarif1) - 1) And (NBTarif2...) Then

    ou

    If (intCompteur >= (Me!NBtarif1) - 1) Or (NBTarif2...) Then


    Daniel Pineault, 2010-2017 Microsoft MVP
    Professional Support: http://www.cardaconsultants.com
    MS Access Tips and Code Samples: http://www.devhut.net

    lundi 26 mars 2018 09:42
  • Merci Daniel,

    en attendant j'ai fait ça :

    Private Sub Détail_Print(Cancel As Integer, PrintCount As Integer)
        If intCompteur >= (Me!Totbill) - 1 Then
            intCompteur = 0
        Else
            intCompteur = intCompteur + 1
            If intCompteur <= Nz(NBtarif1) Then
                Me.Tarif = "10€"
            Else
                If intCompteur <= Nz(NBtarif1) + Nz(NBtarif2) Then
                Me.Tarif = "5€"
                Else
                    If intCompteur <= Nz(NBtarif1) + Nz(NBtarif2) + Nz(NBtarif3) Then
                    Me.Tarif = "0€"
                    End If
                End If
             End If
        Me.NextRecord = False
        End If
    End Sub

    ça marche presque dans tous les cas mais je dois avoir un problème de logique au niveau du compteur :

    si TotBill=5 , NBtarif1=2 , NBtarif2=3 , NBtarif3 =vide j'imprime 5 billets (2 à 10€ et 3 à 5€)

    si TotBill=5 , NBtarif1=2 , NBtarif2=2 , NBtarif3=1 le dernier billet est à 5€ donc la dernière boucle n'est pas parcourue.

    Je cale. Merci pour tes lumières.

    Gilles


    • Modifié GIBIBI74 mardi 27 mars 2018 19:05
    mardi 27 mars 2018 19:04