请问该如何实现?
请高手写个代码事例:)

解决方案 »

  1.   

    遍历整个数据库表读记录,然后写为.txt文件
      

  2.   

    '*************************************************************************
    '**模 块 名:Form1
    '**说    明:版权所有2005 - 2006(C)
    '**创 建 人:
    '**日    期:2005-06-27 08:07:42
    '**修 改 人:
    '**日    期:
    '**描    述:Access数据库导出到Txt文件实例
    '**版    本:
    '*************************************************************************
    Option Explicit
    Private Sub Check1_Click()
        If Check1.Value = 0 Then
            txtChar.Enabled = True
        Else
            txtChar.Enabled = False
        End If
    End Sub
    Private Function Connect2Database() As Boolean'用data控件尝试连接数据库
    On Error GoTo ConnErr
        Data1.DatabaseName = txtSource.Text
        Data1.RecordSource = txtTable.Text
        Data1.Refresh
        Connect2Database = True
        Exit Function
    ConnErr:
        Connect2Database = False
    End Function
    Private Sub Export2Txt1()
        
        '用分隔符分隔数据,以此种方式导出数据库
        Dim Rec_Data As Recordset
        Set Rec_Data = Data1.Recordset
        Dim i As Long
        Dim WriteLine As String
        Rec_Data.MoveFirst
        
        '若数据库为空,则退出
        If Rec_Data.EOF Then Exit Sub
        
        Open txtDes.Text For Output As #1
        
        '先导出字段名至txt文件
        For i = 0 To Rec_Data.Fields.Count - 1
            '添加分隔符
            If i <> 0 Then WriteLine = WriteLine & txtChar.Text
            WriteLine = WriteLine & Rec_Data.Fields(i).Name
        Next i
        Print #1, WriteLine
        
        '导出数据到txt文件
        Do Until Rec_Data.EOF
            WriteLine = ""
            For i = 0 To Rec_Data.Fields.Count - 1
                '添加分隔符
                If i <> 0 Then WriteLine = WriteLine & txtChar.Text
                If Not IsNull(Rec_Data.Fields(i).Value) Then
                    WriteLine = WriteLine & CStr(Rec_Data.Fields(i).Value)
                End If
            Next i
            Print #1, WriteLine
            Rec_Data.MoveNext
        Loop
        
        Close #1End Sub
    Private Sub Export2Txt2()
        '将数据对齐,不足宽度用空格,以此种方式导出数据库
        Dim Rec_Data As Recordset
        Set Rec_Data = Data1.Recordset
        Dim i As Long
        Dim WriteLine As String
        Dim ColumnWidth() As Long
        Rec_Data.MoveFirst
        '先确定每一列的最大宽度
        ReDim ColumnWidth(Rec_Data.Fields.Count)
        
        If Rec_Data.EOF Then Exit Sub
        
        For i = 0 To Rec_Data.Fields.Count - 1
            ColumnWidth(i) = Len(Rec_Data.Fields(i).Name)
        Next i
        
        Do Until Rec_Data.EOF
            For i = 0 To Rec_Data.Fields.Count - 1
                If Not IsNull(Rec_Data.Fields(i).Value) Then
                    If Len(CStr(Rec_Data.Fields(i).Value)) > ColumnWidth(i) Then
                           ColumnWidth(i) = Len(CStr(Rec_Data.Fields(i).Value))
                    End If
                End If
            Next i
            
            Rec_Data.MoveNext
        Loop
        
        Rec_Data.MoveFirst
        
        Open txtDes.Text For Output As #1
        '先导出字段名至txt文件
        For i = 0 To Rec_Data.Fields.Count - 1
            WriteLine = WriteLine & AlignString(CStr(Rec_Data.Fields(i).Name), ColumnWidth(i))
        Next i
        Print #1, WriteLine
        '导出数据到txt文件
        Do Until Rec_Data.EOF
            WriteLine = ""
            For i = 0 To Rec_Data.Fields.Count - 1
                If i <> 0 Then WriteLine = WriteLine & txtChar.Text
                If Not IsNull(Rec_Data.Fields(i).Value) Then
                    WriteLine = WriteLine & AlignString(CStr(Rec_Data.Fields(i).Value), ColumnWidth(i))
                Else
                    WriteLine = WriteLine & Space(ColumnWidth(i))
                End If
            Next i
            Print #1, WriteLine
            Rec_Data.MoveNext
        Loop
        Close #1
    End SubPrivate Function AlignString(strText As String, lLength As Long) As String
        '将字符串增长到指定长度
        If lLength <= Len(strText) Then
            AlignString = strText
        Else
            AlignString = strText & Space(lLength - Len(strText))
        End If
        
    End FunctionPrivate Sub cmdOK_Click()
        If Connect2Database Then
            If Check1.Value = 0 Then
                Call Export2Txt1
            Else
                Call Export2Txt2
            End If
        Else
            MsgBox "数据库打开错误,请检查数据库名和表名。", vbExclamation, "注意"
        End If
    End Sub