sexygling
Messages postés31Date d'inscriptionsamedi 15 mai 2004StatutMembreDernière intervention 4 janvier 2006
-
4 juil. 2004 à 20:00
sexygling
Messages postés31Date d'inscriptionsamedi 15 mai 2004StatutMembreDerniè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)
sexygling
Messages postés31Date d'inscriptionsamedi 15 mai 2004StatutMembreDerniè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 !