Access97用 ADO 连接在按钮里:    If RS.State = adStateOpen Then RS.Close
    db.Close
    Set RS = Nothing
    Set db = Nothing
    
    Dim s As String
    s = App.Path
    If Right(sG, 1) <> "\" Then sG = sG + "\"
    sG = sG & "\abc.mdb"    '##################################################
    '问题在这里,提示:运行错误 70 ,被拒绝的访问权限
    
    FileCopy s, "D:\abc.mdb"
    '##################################################
    
这是怎么一回事?

解决方案 »

  1.   

    更正一下 变量 s 应为 sG   Dim sG As String
        sG = App.Path
        If Right(sG, 1) <> "\" Then sG = sG + "\"
        sG = sG & "\abc.mdb"FileCopy sG, "D:\abc.mdb"
      

  2.   

    只要close了应该就不出现这中问题。
      

  3.   

    既然是ADO就应该有连接,所以应该断开连接:
    for each Connection
      if connection.state=adstateopen then
          set connection=nothing
      end if
    next
    Connection 为建立的连接对象
      

  4.   

    carfield2003(茄菲猫)要仔细看题哦,回答的实际没有用。建议用API复制文件吧。
      

  5.   

    问题就出在你的语句中
    If Right(sG, 1) <> "\" Then sG = sG + "\"
    这句下来SG的最后一个字符是"\"
        sG = sG & "\abc.mdb"
    这样出来的结果在ABC.Mdb前有二个"\"了
      

  6.   

    问题不出在这段代码上,检查一下其它地方,比喻数据库是不是在其它地方正在使用,或者目标数据库是不是正在使用,另外sG = sG & "\abc.mdb"一句应为sG = sG & "abc.mdb"。
      

  7.   

    Dim sG As String  '这里应该是sG,不是s
        sG = App.Path
        If Right(sG, 1) <> "\" Then sG = sG + "\"
        sG = sG & "abc.mdb"   '原来的\不要
        '##################################################
        '问题在这里,提示:运行错误 70 ,被拒绝的访问权限
        FileCopy sG, "D:\abc.mdb"
        '##################################################
      

  8.   

    '##################################################
        '问题在这里,提示:运行错误 70 ,被拒绝的访问权限
        FileCopy sG, "D:\abc.mdb"
        '##################################################数据库一定是打开过,
        RS.Close
        db.Close
        Set RS = Nothing
        Set db = Nothing
    关闭后,仍不能访问,我做了实验的,如果关闭当前程序而在另一程序里,就可以实现,我想问题是当前程序使之出现拒绝权限错误,建议调用其他进程吧,比如在DOS下执行......