怎么将一天的收入、支出、余额等以报表的形式出现呢,下面是我采用的方法:
Option Explicit
Public RegisterReport AsgrproLib.GridppReport
'定义报表类
Dim WithEvents Report1 AsgrproLibCtl.GridppReport
‘定义报表字段
Dim NameField As grproLib.IGRField
‘定义上期余额的字段
Dim PriorperiodCashField As IGRField
‘定义今日充值的字段
Dim CurrentCreditField As IGRField
‘定义今日消费的字段
Dim CurrentConsumptionField As IGRField
‘定义退款金额
Dim CurrentAmountrefundedField As IGRField
‘定义今日充值卡金额
Dim CurrentCashField As IGRField
Dim DayField As IGRField
'打印预览
Private Sub cmdPreview_Click()
Report1.PrintPreview (True)
End Sub
Private Sub cmdPrint_Click()
Report1.PrintEx grpgsAll, True
End Sub
'刷新记录
Private Sub cmdRefresh_Click()
GRDisplayViewer1.Refresh
End Sub
Private Sub Form_Load()
Set PriorperiodCashField = Report1.FieldByName("PriorperiodCash")
Set CurrentCreditField = Report1.FieldByName("CurrentCredit")
Set CurrentConsumptionField =Report1.FieldByName("CurrentConsumption")
Set CurrentAmountrefundedField =Report1.FieldByName("CurrentAmountrefunded")
Set CurrentCashField = Report1.FieldByName("CurrentCash")
Set DayField = Report1.FieldByName("Date")
'显示报表实例
GRDisplayViewer1.Report = Report1
'开始运行报表
GRDisplayViewer1.Start
End Sub
'设置报表的位置
Private Sub Form_Resize()
If Me.WindowState <> vbMinimized Then GRDisplayViewer1.Move 0,GRDisplayViewer1.Top, ScaleWidth, ScaleHeight - GRDisplayViewer1.Top
End Sub
‘显示报表的记录
Private Sub Report1_FetchRecord()
Report1.DetailGrid.Recordset.Append
FillRecord1
Report1.DetailGrid.Recordset.Post
End Sub
Private Sub FillRecord1()
Dim rs1 As ADODB.Recordset
Dim rs2 As ADODB.Recordset
Dim rs3 As ADODB.Recordset
Dim rs5 As ADODB.Recordset
Dim strSQL As String
Dim strMsgtext As String
Dim Consumemoney As Double
Dim CancelMoney As Double
Dim RechargeMoney As Double
Dim CardTalCount As Double
Dim TotalCash As Double
'消费的总额
strSQL = "select sum(Consume) as Talconsume from Line_Info whereOnDate = '" & Date & "'"
Set rs1 = ExecuteSQL(strSQL, strMsgtext)
If Not IsNull(rs1.Fields("Talconsume")) Then
Consumemoney = rs1.Fields("Talconsume")
Else
Consumemoney = "0"
End If
rs1.Close
'销卡时退给的钱数
strSQL = "select sum(CancelCash) as CancelTotal from CancelCard_Info where Date= '" & Date& "'"
Set rs2 = ExecuteSQL(strSQL, strMsgtext)
If Not IsNull(rs2.Fields("CancelTotal")) Then
CancelMoney = rs2.Fields("CancelTotal")
Else
CancelMoney = "0"
End If
rs2.Close
'充值所获得的钱数
strSQL = "select sum(Addmoney) as RechargeTotal from Recharge_Info where Date = '" & Date& "'"
Set rs3 = ExecuteSQL(strSQL, strMsgtext)
If Not IsNull(rs3.Fields("RechargeTotal")) Then
RechargeMoney = rs3.Fields("RechargeTotal")
Else
RechargeMoney = "0"
End If
rs3.Close
'学生所剩余的钱数
strSQL = "select sum(Cash) as TotalMoney from Student_Info "
Set rs5 = ExecuteSQL(strSQL, strMsgtext)
If Not IsNull(rs5.Fields("TotalMoney")) Then
TotalCash = rs5.Fields("TotalMoney")
Else
TotalCash = "0"
End If
‘ 定义变量的类型,并且赋给变量值
PriorperiodCashField.AsInteger = TotalCash - RechargeMoney +Consumemoney + CancelMoney
CurrentCreditField.AsInteger = RechargeMoney
CurrentConsumptionField.AsInteger = Consumemoney
CurrentAmountrefundedField.AsInteger = CancelMoney
CurrentCashField.AsInteger = TotalCash
DayField.AsString = Date
End Sub