什么意思,看你的目的就是从access中读取数据,写文件呀

解决方案 »

  1.   

    具体说:就是当用户点了这个按钮的时候,系统会弹出保存文件的对话框,
    提示用户保存数据库,用户可以自由选择保存路径,比如:a盘
    如果能把数据库的资料转换成文本再保存也可以我不知道如何编写这个代码,请大家提示一下
    up一下
      

  2.   

    如果想存成a盘里的文本,不是很难的事。
    示例如下:
    1)我的数据库有一个表Henry,有三个字段:
     
    2)转存的目标: 字段1     |字段2        |字段3 各字段间空开20个字节
    两个难点:
     转存,汉字的字节位置(方法是:lenb(strconv(Expression))把汉字转成两个字节处理)窗体:一个文本框:txtmdb ,一个按钮:cmbSave , 一个表格:Datagrid1,一个ADODC:Adodc1
    代码:
    Dim strDbname As String
    Dim intFilenum As Integer
    Dim strRecord As String'用于保存字段行
    Dim strRecord1 As String'用于保存字段一
    Dim strRecord2 As String'用于保存字段二
    Dim strRecord3 As String'用于保存字段三Private Sub Form_Load()
     txtmdb.Text = App.Path & "\database.mdb" '数据库的路径可以自己另写
     strDbname = Trim(txtmdb.Text)
     Adodc1.CommandType = adCmdText
     Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; _
               Data Source=" & strDbname & ";Persist Security Info=False"
     Adodc1.RecordSource = "select * from Henry" 'Henry是表名
     Adodc1.Refresh
    End SubPrivate Sub cmdSave_Click()
    On Error Resume Next
        
        strRecord = ""
        intFilenum = FreeFile
        '建议你调试时,先用app.path & "\dbfile.txt"代替"a:\dbfile.txt"
        If Dir( "a:\dbfile.txt") = "" Then 
         '看看a盘有没有这个文件,建议先做个a驱中有无盘的判断
            Open "a:\dbfile.txt" For Output As #intFilenum
            Close #intFilenum
        Else
            Kill "a:\dbfile.txt" '有就删除掉
        End If   
      
        intFilenum = FreeFile
        Open "a:\dbfile.txt" For Append As #intFilenum
            
        For intTempi = 0 To Adodc1.Recordset.RecordCount - 1  '主要就是这一段了
           strRecord1 = ""
           strRecord2 = ""
           strRecord3 = ""
           strRecord = ""
           strRecord1 = Adodc1.Recordset.Fields(0).Value & _
              Space(20 - LenB(StrConv(Adodc1.Recordset.Fields(0).Value, vbFromUnicode)))
           strRecord2 = Adodc1.Recordset.Fields(1).Value & _
              Space(20 - LenB(StrConv(Adodc1.Recordset.Fields(1).Value, vbFromUnicode)))
           strRecord3 = Adodc1.Recordset.Fields(2).Value & _
              Space(20 - LenB(StrConv(Adodc1.Recordset.Fields(2).Value, vbFromUnicode)))
           strRecord = strRecord1 & "|" & strRecord2 & "|" & strRecord3
             
           Print #intFilenum, strRecord
           Adodc1.Recordset.MoveNext
        Next   Close #intFilenum
    End Sub---
      我已经测试通过了,没有任何明显问题                                    by Henry 
      

  3.   

    以上的方法都麻烦.
    dim mRs as new recordset
    .....
    mrs.open [表|过程|查寻|...]
    mrs.save (文件名)
    就完事了
      

  4.   

    Dim fsoSys As New Scripting.FileSystemObject 
     Dim fsoFile As File
     Set fsoFile = fsoSys.GetFile("f:\course system\course_info_e.mdb")
        
     fsoFile.Copy ("d:\新建文件夹\course_info_e.mdb")
     Set fsoFile = Nothing