Impression d'un form

sexygling Messages postés 31 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 4 janvier 2006 - 4 juil. 2004 à 20:00
sexygling Messages postés 31 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 4 janvier 2006 - 4 juil. 2004 à 20:10
Salut a tous, alors je fais un logiciel de gestion de caisse, et l'impression des tickets de caisse me pose probleme :
je remplis un form (ticket) avec tous les articles saisie qui sont dans un recordset.
Je load des groupe de controle au fur et a mesur que je lis le recordset (voici le code)


Set rs = db.OpenRecordset("select * from vtemp")
rs.MoveFirst
If rs.RecordCount > 0 Then
    
    l = 0
    While Not rs.EOF
        
        A1.txt_ref(l).text = rs!reference
        A1.txt_Design(l).text = rs!designation
        A1.txt_remise(l).text = rs!remiseprod
        A1.txt_px(l).text = CCur(rs!prix * (1 - rs!remiseprod / 100))
        A1.txt_pxbrut(l).text = CCur(rs!prix)

        l = l + 1
        
        Load A1.txt_ref(l)
        With A1.txt_ref(l)
            .Top = A1.txt_ref(l - 1).Top + 580
            .Visible = True
        End With

        Load A1.txt_Design(l)
        With A1.txt_Design(l)
            .Top = A1.txt_Design(l - 1).Top + 580
            .Visible = True
        End With
        
        Load A1.txt_px(l)
        With A1.txt_px(l)
            .Top = A1.txt_px(l - 1).Top + 580
            .Visible = True
        End With
        
        Load A1.txt_remise(l)
        With A1.txt_remise(l)
            .Top = A1.txt_remise(l - 1).Top + 580
            .Visible = True
        End With
        
        Load A1.txt_pxbrut(l)
        With A1.txt_pxbrut(l)
            .Top = A1.txt_pxbrut(l - 1).Top + 580
            .Visible = True
        End With
        
        rs.MoveNext
            
        A1.Width = A1.Width + 580
            
    Wend
    
    'Gestion des lignes en trop a cause du wend

    If i > 0 Then
        Unload A1.txt_ref(l)
        Unload A1.txt_Design(l)
        Unload A1.txt_px(l)
        Unload A1.txt_remise(l)
        Unload A1.txt_pxbrut(l)
    End If
 
    'BARRE2
    A1.barre2.Top = A1.txt_remise(l - 1).Top + 200
    
    Set rs = db.OpenRecordset("select Sum(([prix] * (1 - [Remiseprod] / 100))) as MtTotal from vtemp;")
        A1.txt_totalttc.text = rs!MtTotal 'Total brut TTC
        
        'placage txt_totalttc
        A1.txt_totalttc.Top = A1.barre2.Top + 300
        A1.lbl_Totalttc.Top = A1.txt_totalttc.Top
                           Set rs db.OpenRecordset("select remisetotal from vente where nvente " & Module1.DerNvente & ";")
        A1.txt_remisetotal.text = rs!remisetotal    'Remise s Total
        
        'placage txt_remisetotal
        A1.txt_remisetotal.Top = A1.txt_totalttc.Top + 220
        A1.lbl_remisetotal.Top = A1.txt_remisetotal.Top
        
        'Total Net
        A1.txt_totalnet.text = CCur(A1.txt_totalttc.text) * (1 - CCur(A1.txt_remisetotal.text) / 100)
        A1.lbl_totalnet.Top = A1.txt_totalnet.Top
        
        'Placage totalnet
        A1.txt_totalnet.Top = A1.txt_remisetotal.Top + 220
        A1.lbl_totalnet.Top = A1.txt_totalnet.Top
        
    l = 0
        Set rs db.OpenRecordset("SELECT nvente, espece, cheque, cb, avoir, bon FROM vente WHERE nvente " & Module1.DerNvente & ";")
    rendu = 0
    If rs!espece <> 0 Then
        Call set_visible(l)
            A1.lbl_paiment(l).Caption = "Espèce:"
            A1.txt_paiment(l).text = rs!espece
            rendu = rendu + CCur(A1.txt_paiment(l).text)
        l = l + 1
        Call load_paiment(l)
    End If
    If rs!cheque <> 0 Then
        Call set_visible(l)
            A1.lbl_paiment(l).Caption = "Chèque:"
            A1.txt_paiment(l).text = rs!cheque
            rendu = rendu + CCur(A1.txt_paiment(l).text)
        l = l + 1
        Call load_paiment(l)
    End If
    If rs!cb <> 0 Then
        Call set_visible(l)
            A1.lbl_paiment(l).Caption = "CB:"
            A1.txt_paiment(l).text = rs!cb
            rendu = rendu + CCur(A1.txt_paiment(l).text)
        l = l + 1
        Call load_paiment(l)
    End If
    If rs!avoir <> 0 Then
        Call set_visible(l)
            A1.lbl_paiment(l).Caption = "Avoir:"
            A1.txt_paiment(l).text = rs!avoir
            rendu = rendu + CCur(A1.txt_paiment(l).text)
        l = l + 1
        Call load_paiment(l)
    End If
    If rs!bon <> 0 Then
        Call set_visible(l)
            A1.lbl_paiment(l).Caption = "Bon:"
            A1.txt_paiment(l).text = rs!bon
            rendu = rendu + CCur(A1.txt_paiment(l).text)
        l = l + 1
        Call load_paiment(l)
    End If
    If l > 5 Then
        Unload A1.lbl_paiment(l)
        Unload A1.txt_paiment(l)
    End If
    
    A1.txt_rendu.Top = A1.lbl_totalnet.Top + 300
    A1.lbl_rendu.Top = A1.lbl_totalnet.Top + 300
    A1.txt_date.Top = A1.lbl_rendu.Top + 300
    A1.txt_date.text = Format(Now, "dd/mm/yyyy hh:mm:ss")
    
    A1.txt_rendu.text = (CCur(A1.txt_totalnet.text) - rendu) * CInt(-1)
    
    rs.Close

    db.Execute ("delete * from vtemp;")
                                
                numligne = 1
    
                Data1.Refresh
                DBGrid1.Refresh
    
            txt_ref.text = ""
            txt_designation.text = ""
            txt_prix.text = 0
            txt_txremise.text = 0
            txt_mtremise.text = 0
            txt_mttotal.text = 0
            txt_remisestotal.text = 0
            txt_totalttc.text = 0
            txt_espece.text = 0
            txt_cheque.text = 0
            txt_cb.text = 0
            Txt_bon.text = 0
            txt_Avoir.text = 0
            txt_restant.text = 0
            txt_ref.SetFocus
End If

    txt_ref.SetFocus
    A1.PrintForm
    Unload A1


A1 est donc le form (ticket).
Le probleme est le suivant :
a partir d'un certain nb d'article, mon imprimante n'mprime pas tout ! ( elle s'arrete toujours au meme endroit du ticket quand je les compares).
J'ai bien essayer d'aggrandir le form au max a la base, mais ca n'y fais rien.
d'autre part mon imprimante est une imprimante pour ticket de caisse (ithaca therm 280)

Voila merci a tous :)
Pascal

1 réponse

sexygling Messages postés 31 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 4 janvier 2006
4 juil. 2004 à 20:10
heuu en fait ca y est j'ai du configurer l'imprimante qui avais en parametre de mauvaise information quand a la taille du papier utiliser ( enveloppe 3 1/2) bref longueur c'est bon, mais maintenant le probleme que j'ai c'est que dés que je lance l'impression j'ai une fenetre Projet 1 : Impression en cours.. et elle reste tans que le ticket n'est pas sorti, j'aimerais savoir si c'est possible qu'elle n'aparaisse pas !

Merci
0
Rejoignez-nous