请看看以下导出文本文件的模块函数,我应该怎么在按钮点击事件中实现调用。Option ExplicitPublic Function TabintoTxt(objConn As Object, TableName As String, Optional TextFileName As String)
        Dim rs As New ADODB.Recordset
        Set rs = New ADODB.Recordset
        Dim i As Long
        Dim WritStr As String
        Dim Fid As Long
        Dim lngCount As Long              ' 计数。        If TextFileName = "" Then TextFileName = App.Path & "\" & TableName & ".txt"
        If objConn.State = 0 Then objConn.Open
        rs.Open "select * from " + TableName, objConn        Fid = FreeFile
        rs.MoveFirst
        Open TextFileName For Output As #Fid
           WritStr = ""
           For i = 0 To rs.Fields.Count - 1
               WritStr = WritStr & "" & rs.Fields(i).Name & ","
           Next
           Print #Fid, WritStr
           While Not rs.EOF
                 WritStr = ""
                 For i = 0 To rs.Fields.Count - 1
                     WritStr = WritStr & "" & Trim(ISNULL2SPACE(rs(i))) & ","
                 Next
                 Print #Fid, WritStr
                 rs.MoveNext
                 lngCount = lngCount + 1
           Wend
        Close #Fid
        rs.Close
        MsgBox "导出 " & Format(lngCount) & " 笔记录。"
End Function

解决方案 »

  1.   

    第一个参数是连接对象(应该是个全局的),第二个参数是表名也是保存在本地的文件名(当TTextFileName不存在时),第三个参数是保存在本地的文件名
      

  2.   

    不明所以代码没注释?
    'cnn 数据源的连接对象
    'TableName 数据库表
    'TextFileName 将要导出到的文本路径(可选.若不选,则默认取TableName表名保存在当前工程目录下)e.g.
    Call TabintoTxt(cnn, "表1", "E:\0.txt")
      

  3.   

    请看看以下导出文本文件的模块函数,我应该怎么在按钮点击事件中实现调用。 Option Explicit Public Function TabintoTxt(objConn As Object, TableName As String, Optional TextFileName As String) 
            Dim rs As New ADODB.Recordset           '建立ADO对象
            Set rs = New ADODB.Recordset            '实例化ADO对象
            Dim i As Long 
            Dim WritStr As String 
            Dim Fid As Long 
            Dim lngCount As Long              ' 计数。         If TextFileName = "" Then TextFileName = App.Path & "\" & TableName & ".txt"    '如果传入的文件名称为空,则在当前应用程序路径下新建一个文件名称,结构为:当前路径+TableName(你传入的新文件名)
            If objConn.State = 0 Then objConn.Open           '当数据库为关闭时则打开 
            rs.Open "select * from " + TableName, objConn    '查询数据库表名为:TableName(你传入的名称)        Fid = FreeFile                                   '得到一个可用的文件流序号 
            rs.MoveFirst                                     '数据指针指向下一条数据
            Open TextFileName For Output As #Fid             '打开文件流序号并向TextFileName中传入数据
              WritStr = ""                                   '将数据清空 
              For i = 0 To rs.Fields.Count - 1               '查询当前内存中的数据指针中所有的字段
                  WritStr = WritStr & "" & rs.Fields(i).Name & ","  '将某字段的字段名称写入变量WriteStr中
              Next 
              Print #Fid, WritStr                             '将变量中的数据写入文件
              While Not rs.EOF                                '如果数据指针没有到底
                    WritStr = "" 
                    For i = 0 To rs.Fields.Count - 1 
                        WritStr = WritStr & "" & Trim(ISNULL2SPACE(rs(i))) & "," 
                    Next 
                    Print #Fid, WritStr 
                    rs.MoveNext 
                    lngCount = lngCount + 1 
              Wend 
            Close #Fid 
            rs.Close 
            MsgBox "导出 " & Format(lngCount) & " 笔记录。" 
    End Function
    现在楼主知道objConn ,TableName ,TextFileName 这三个参数的含义了?
    objConn是个CONNECT对象,TableName是需要查找数据库的表名,TextFileName是你需要自定义的文件名
      

  4.   

    '只是执行一个过程,要这样定义
    Public sub TabintoTxt(objConn As Object, TableName As String, Optional TextFileName As String) 
    '调用
    dim cn as New ADODB.Connection
    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\aa.mdb;Persist Security Info=False;"
    '调用过程
    call TabintoTxt cn,"表名","test"
    '调用函数
    i = TabintoTxt (cn,"表名","test")
      

  5.   

    Trim(ISNULL2SPACE(rs(i))) 执行的时候说上面这句里面的“isnull2space”子程序或函数未定义,是什么意思?
      

  6.   

    isnull2space本来就不是VB6的内置函数