机房-学生查看上机记录(功能实现)

出现的问题:
1.下机时间为null 不显示本行数据
2.生成excel表格
3.将生成excel表格的代码添加到模块中,在窗体模块中进行调用时myFlexgrid出现未定义

解决方法:
1.使用了isnull()函数
代码如下:

	If IsNull(mrc.Fields(8)) Then
    	mrc.MoveNext
    Else
    	往表中填入数据
    	mrc.movenext
   end if

2.参考网络知识
代码如下:

 	Dim xlapp As Excel.Application          '声明excel对象
    Dim xlbook As Excel.Workbook            '声明工作簿对象
    Dim xlsheet As Excel.Worksheet          '声明工作表
    
    Dim i As Long
    Dim j As Long
    
    Set xlapp = CreateObject("excel.application")        '创建应用程序
    Set xlbook = xlapp.Workbooks.Add                     '创建新的空白工作簿
    Set xlsheet = xlbook.Worksheets(1)                   '设置应用表
    
    xlapp.Rows(1).Font.Bold = True     '修改字体
     For i = 0 To frmInquiryLineRecord.myFlexgrid.Rows - 1        '通过循环来添加控件中的数据到Excel表中
        For j = 0 To frmInquiryLineRecord.myFlexgrid.Cols - 1    '由于第一行是表头,所以添加数据从第二行开始。
            xlsheet.Cells(i + 1, j + 1) = "'" & frmInquiryLineRecord.myFlexgrid.TextMatrix(i, j)
        Next j
    Next i
    xlapp.Visible = True

3.在myFlexgrid前面加上窗体的名字就可以了

Public Sub export()
    Dim xlapp As Excel.Application          '声明excel对象
    Dim xlbook As Excel.Workbook            '声明工作簿对象
    Dim xlsheet As Excel.Worksheet          '声明工作表
    
    Dim i As Long
    Dim j As Long
    
    Set xlapp = CreateObject("excel.application")        '创建应用程序
    Set xlbook = xlapp.Workbooks.Add                     '创建新的空白工作簿
    Set xlsheet = xlbook.Worksheets(1)                   '设置应用表
    
    xlapp.Rows(1).Font.Bold = True     '修改字体
     For i = 0 To frmInquiryLineRecord.myFlexgrid.Rows - 1        '通过循环来添加控件中的数据到Excel表中
        For j = 0 To frmInquiryLineRecord.myFlexgrid.Cols - 1    '由于第一行是表头,所以添加数据从第二行开始。
            xlsheet.Cells(i + 1, j + 1) = "'" & frmInquiryLineRecord.myFlexgrid.TextMatrix(i, j)
        Next j
    Next i
    xlapp.Visible = True
End Sub

在调用的窗体写下如下代码:

Private Sub cmdExport_Click()
  
   '导出数据到excel表中
   Call export
End Sub

猜你喜欢

转载自blog.csdn.net/lclcsdnblink/article/details/83541304