本帖最后由 hzlington 于 2014-07-02 20:58:38 编辑

解决方案 »

  1.   

    问题是ADODC怎么关闭数据库呢?用ADODC1.RECORDSET.CLOSE貌似没用
      

  2.   

    把程序关掉不就可以了!
    谁知道你用了多少个 ADODC,都会自动连数据库的。
      

  3.   

    这个我还真做过。我是在主窗体的 Form_Unload 的事件中,rs.Close //在用的记录集
    Set rs = Nothing
    cn.Close
    Set cn = Nothing此后,实际上有可能要等待操作系统磁盘交换的完成。然后,才可以压缩 Access 数据库。
      

  4.   

    不好意思追问一下,RS和CN代表什么对象?我没用自定义对象,是直接用ADODC的属性的
    Adodc1.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=MS Access Database;Initial Catalog=" & App.Path & "XXXXX"    Adodc1.RecordSource = "XXXXX"
      

  5.   

    别人的方法
    Public HTcn As ADODB.Connection
    Public HTrs As New ADODB.RecordsetPublic Function OpenStandHT(HTmdbPath As String)
       Set HTcn = New ADODB.Connection
       'Set HTcn = CurrentProject.Connection
       HTcn.Provider = "Microsoft.Jet.OLEDB.4.0"
       HTcn.Open HTmdbPath
    End Function
    Public Function CloseStandHT()
       HTrs.Close
       Set HTrs = Nothing
       HTcn.Close
       Set HTcn = Nothing
    End Function我用来关闭数据库就出现“对象关闭时,不允许操作” ,是不是HTrs没与数据库联系起来?
      

  6.   

    用 ADODC 是有点麻烦。试试:ADODC1.Recordset.Close
    ADODC1.Recordset.ActiveConnection.Close
    Set ADODC1.Recordset = Nothing
    Set ADODC1.Recordset.ActiveConnection = Nothing
      

  7.   

    不过可能ADODC就是这样吧很难关闭