我想用VB完成access数据库的备份,代码如下
Dim fso As New FileSystemObject, fil As File
Set fso = CreateObject("Scripting.FileSystemObject")
Set fil = fso.GetFile("E:\DNS\DNS_new040906\sourcecode\DNS_new.mdb")   '*********
fil.Copy strFileName           'strFileName是备份后的文件名
Set fso = Nothing
Set fil = Nothing
没有问题,可是这段代码没有普遍性,因为GetFile的路径是固定的若我设dbpath1 = "" & App.Path & "\database\DNS_new.mdb"
然后*****语句改成 set fil=fso.GetFile(dbpath1)  以后,
就告诉我说文件找不到,不知道为什么,哪位大侠告诉小弟一下这是为什么?

解决方案 »

  1.   

    fso.CopyFile fil, strFileName, True我知道copyfile很好用在备份方面,可是那个getfile的参数到底是如何设置才是正确的呢?
      

  2.   

    没问题呀.这样再试一下
    dbpath1 =App.Path & "\database\DNS_new.mdb"
      

  3.   

    http://www.china-askpro.com/msg2/qa09.shtml
      

  4.   

    首先你要注意一下,是否有这个文件夹,其次要注意app其实是和你的程序在一个路径下的剩下的就是要写成dbpath1 =App.Path & "\database\DNS_new.mdb",app,path前面不能加""&的或是你添加监视看看到底是路径的错误还是文件的错误最后干脆先建立一个这样名字的一个文件
      

  5.   

    dbpath1 =App.Path & "\database\DNS_new.mdb"
    这样还是不行呀。
      

  6.   

    APP.PATH是你当前程序所在的目录,你首先得确认文件是否在该目录下存放,路径是否正确。
      

  7.   

    你用msgbox显示出App.Path & "\database\DNS_new.mdb",看看是什么.或者根本就没有这个路径.
      

  8.   

    测试 App.Path & "\database\DNS_new.mdb" 的路径是否是正确的文件路径
      

  9.   

    '*********************************************************************
    '在引用中选中Microsoft Jet and Replication,然后应用如下代码Dim j As New JRO.JetEngine
    '份数据库到另一目录
    j.CompactDatabase "provider=Microsoft.Jet.OLEDB.4.0;data " & _
                        "source=D:\myDB.mdb;" & _
                        "jet oledb:database password=123456789", _
                      "provider=Microsoft.Jet.OLEDB.4.0;data " & _
                        "source=E:\myDB.mdb;" & _
                        "jet oledb:encrypt database=true;" & _
                        "jet oledb:database password=123456789"set j = nothing
    '***************************************************************************************
      

  10.   

    Private Sub DATABACK_Click()
        Dim jckk As String
        Set fss = CreateObject("Scripting.FileSystemObject")
        If Month(Date) < 10 Then
            jckk = "JC" & Year(Date) & "0" & Month(Date) & ".MDB"
        Else
            jckk = "JC" & Year(Date) & Month(Date) & ".MDB"
        End If    fss.CopyFile App.Path & "\jck.mdb", App.Path & "\jcback\" & jckk, TrueEnd Sub