机房收费系统之范围查询

该类窗体功能:查询一定时间范围内的表信息,并将查询信息导出为Excel表。

 

步骤:

1,该窗体用到的是DTPicker和MSFlexGrid控件,以及对Excel的调用。

2,难点一:查询条件的填写:

Do While Not (mrs.EOF)
    If ((DateDiff("d", mrs.Fields(5), DTPstart.Value)) > 0) Then '若在开始时间之前则不显示
        mrs.MoveNext
        Exit Do
    ElseIf ((DateDiff("d", mrs.Fields(5), DTPend.Value)) < 0) Then '若在结束时间之后也不显示
        mrs.MoveNext
        Exit Do
    End If

    ‘将表中满足日期范围内的表中信息添加到MSFlexGrid中

Loop

当然还有其他的方法来查询范围内的信息:

strSQL="select * from Recharge where Date>='" & Format(DTPstart.Value, "yyyy/mm/dd") & "' and Date <='" & Format(DTPend.Value, "yyyy/mm/dd") & "'"

3,难点二:导出Excel表。

实际上这个只要在网上搜一下就有好多,可是对于本程序来说,很多东西都是多余的,我筛选了一下:

'导出至Excel
Public Sub OutDataToExcel(Flex As MSFlexGrid)
    Dim I As Integer, J As Integer  '标识行列
    Dim k As Integer                       '标识总函数
    Dim ColTitle As Integer           '标识列头
    On Error GoTo sub_error         ’出现错误则跳到错误处理(该错误处理也可以不填写,一般也不会有什么错误)
    frmRechargeInfo.MousePointer = 11’设置窗体的鼠标指针为忙碌状态
    Dim Excelapp As Excel.Application
    Set Excelapp = New Excel.Application  ‘实例化一个Excel应用程序
    On Error Resume Next
    DoEvents                                          ‘查看是否有其他重要的事情要做(转移对CPU的控制权)
    Excelapp.SheetsInNewWorkbook = 1    '新建一个工作簿
    Excelapp.Workbooks.Add                      '新建一个工作表
    Excelapp.ActiveSheet.Range("A:C").ColumnWidth = 10    '设置列宽(Range可一次设置多列,若只设置一列,也可用Columns属性)
    With Flex
        k = .Rows
        For I = 1 To k
            For J = 1 To Flex.Cols
                DoEvents
                Excelapp.ActiveSheet.Cells(I, J) = .TextMatrix(I - 1, J - 1)   ’将MSFlexGrid中的信息导入到Excel表中
            Next J
        Next I
    End With
    frmRechargeInfo.MousePointer = 0        ’将鼠标指针设为正常值
    Excelapp.WindowState = xlMaximized     ‘最大化显示
    Excelapp.Caption = "充值记录表"           '设置Excel表头
    Excelapp.Visible = True
    Exit Sub
sub_error:
    If Not (Excelapp Is Nothing) Then       ’错误处理:若表中没有信息则退出
        Excelapp.Quit
    End If
End Sub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值