看看我这个函数有什么问题:excel_title参数为报表主题,MyRd为记录集
问题:生成Excel文件时记录集MyRd中的数据不能显示在Excel文件中
Public Function SelectExcel(excel_title As String, MyRd As Recordset) As Long
'转EXCEL
    On Error GoTo err
    Dim m As Excel.Application, i As Integer, j As Integer
     
    Dim m1 As Excel.Workbook, m2 As Excel.Worksheet
    Set m = CreateObject("Excel.Application")
    m.Visible = True
    m.Workbooks.Add
    Dim ReCout As Long
    ReCout = MyRd.RecordCount
    MyRd.MoveFirst
    m.Cells(1, 4) = excel_title
        m.Cells(2, 1) = "'Idno"
        m.Cells(2, 2) = "'组名"
        m.Cells(2, 3) = "'周编程"
      
    For i = 1 To ReCout
        For j = 1 To MyRd.Fields.Count
            m.Cells(i + 2, j) = "'" & sql_null(MyRd(j - 1))
        Next
        MyRd.MoveNext
    Next
    Set m1 = m.Workbooks(1)
    Set m2 = m.Worksheets(1)
    Exit Function
err:
     
End Function

解决方案 »

  1.   

    sql_null为检测字段值是否为空函数
      

  2.   

    生成Excel文件时记录集MyRd中的数据不能显示在Excel文件中你的m1,m2是干什么用的?Public Function SelectExcel(excel_title As String, MyRd As Recordset) As Long
    '转EXCEL
        On Error GoTo err
        Dim m As Excel.Application, i As Integer, j As Integer
         
        Set m = CreateObject("Excel.Application")
        m.Visible = True
        m.Workbooks.Add
        Dim ReCout As Long
        ReCout = MyRd.RecordCount
        MyRd.MoveFirst
        m.Cells(1, 4) = excel_title
            m.Cells(2, 1) = "'Idno"
            m.Cells(2, 2) = "'组名"
            m.Cells(2, 3) = "'周编程"
          
        For i = 1 To ReCout
            For j = 1 To MyRd.Fields.Count
                m.Cells(i + 2, j) = "'" & IIf(IsNull(MyRd(j - 1)), "", MyRd(j - 1))
            Next
            MyRd.MoveNext
        Next
        Exit Function
    err:
         
    End FunctionVB6 + win2000 +office2000  测试是正确的
      

  3.   

    楼上的程序我试过了,可以执行。但是为什么生成excel文件后提示VB.EXE应用程序错误?然后“确定”后,便把握正在运行的VB程序关了。请教!谢谢答复!