PDA

View Full Version : Sử dụng Crytal Report trong VB 6.0



aminpro
29-06-2010, 09:41
Lập trình với VB 6.0 chắc chắn nhiều bạn sử dụng CR để tạo báo cáo.
vấn đề ở đây là các bạn sử dụng đối tượng hay là lớp của CR.
Khi sử dụng lớp thì các bạn truyền tham số dễ hơn là sử dụng đối tượng.
ví dụ:
Để in bảng thu tiền có các đơn giá điện bậc thang và thông tin đơn vị sử dụng.
Sub PrintTD()
Call donvi
Call heso1
Call heso2
Dim fprint As frmprint
Set fprint = New frmprint
PR = 2
str = GetAppPath() & "Reports\bangke.rpt"
Set crApp = New CRAXDRT.Application
Set crRep = crApp.OpenReport(str)
crRep.DiscardSavedData
'thong tin don vi
crRep.ParameterFields.GetItemByName("donvi").AddCurrentValue dv
crRep.ParameterFields.GetItemByName("dt").AddCurrentValue dvdt
'crRep.ParameterFields.GetItemByName("mstdv").AddCurrentValue mst


'don gia moi
crRep.ParameterFields.GetItemByName("h1").AddCurrentValue H1
crRep.ParameterFields.GetItemByName("h2").AddCurrentValue H2
crRep.ParameterFields.GetItemByName("h3").AddCurrentValue H3
crRep.ParameterFields.GetItemByName("h4").AddCurrentValue H4
crRep.ParameterFields.GetItemByName("h5").AddCurrentValue H5
crRep.ParameterFields.GetItemByName("h6").AddCurrentValue H6
crRep.ParameterFields.GetItemByName("h7").AddCurrentValue H7
'don gia cu
crRep.ParameterFields.GetItemByName("s1").AddCurrentValue C1
crRep.ParameterFields.GetItemByName("s2").AddCurrentValue C2
crRep.ParameterFields.GetItemByName("s3").AddCurrentValue C3
crRep.ParameterFields.GetItemByName("s4").AddCurrentValue C4
crRep.ParameterFields.GetItemByName("s5").AddCurrentValue C5
crRep.ParameterFields.GetItemByName("s6").AddCurrentValue C6
crRep.ParameterFields.GetItemByName("s7").AddCurrentValue C7
TieuDe = "Bảng kê thu tiền điện"
fprint.Show vbModal
Set fprint = Nothing
End Sub