如何在程序(VB6)中判断一个ACCESS工作文件ad.mdw的打开状态,如果处于打开状态,如果用程序代码关闭他的打开状态。现在遇到的问题,可以参照下图:

解决方案 »

  1.   

    adLockReadOnly 常数值为1 vb缺省值:Recordset对象以只读方式启动,无法运行AddNew、Update及Delete等方法 adLockPrssimistic 常数值为2  :当数据源正在更新时,系统会暂时锁住其他用户的动作,以保持数据一致性。 adLockOptimistic 常数值为3  :当数据源正在更新时,系统并不会锁住其他用户的动作,其他用户可以对数据进行增、删、改的操作。
     
    adLockBatchOptimistic  常数值为4 :当数据源正在更新时,其他用户必须将CursorLocation属性改为adUdeClientBatch才能对数据进行增、 删、改的操作。 
      

  2.   


    登录窗体 中有数据库连接吧?这个连接中用到rs.open了吧?
      

  3.   

    value   =   GetFileOPENName("请选择文件:",   docname,   named)   
      IF   VALUE=1   THEN   
            fileopen(docname)   
      else   
            messagebox("提示!","文件有错误!")   
            return   
      end   if这个是判断文件是否打开的代码,但感觉你的问题不是这个方面,应该是数据库方面问题
      

  4.   

    数据库方面没有问题,试过了。只要把出现问题目录下的AD.MDW文件,替换成未出现问题之前的AD.MDW文件,即可解决此问题。
    这两个文件没有区别:文件的内容,我用记事本打开对照过,一模一样。没有区别 。
    有可能是数据库操作方面的问题,但我还是得一个一个的解决不是。
      

  5.   

    数据库可以正常打开,没有问题的。无需但恢复处理。 问题就出在工作组文件AD.MDW上。 估计它在程序再次运行前还处于未释放的状态,所以再次运行程序时会出现如上图的提示。
      

  6.   

    ACCESS数据库被打开后在该数据库所在的目录夹内存在一个同名但后缀名为LDB的文件.
    判断是否被打开数据库,则可按上述思路判断同名的LDB的文件是否存在.
    至于如何关闭被其它用户打开的ACCESS数据库,期待高手解答.
      

  7.   

    sysConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\sj.mdb; User ID=yuejia;Password=***;Persist Security Info=True;Jet OLEDB:System database=" & App.Path & "\AD.mdw;Jet OLEDB:Database Password = **" Conn.CursorLocation = adUseClient       
        
     Conn.Open (sysConnString)   '运行到此处出错
      

  8.   

    LZ:试下下列代码的思路,注意两句Dim句的用法:
    Private Sub Form_Load()
        Dim cn As New ADODB.Connection '定义数据库的连接
        sql = "select * from jishijilu "
        Dim rs As New ADODB.Recordset
        cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\wd.mdb;Persist Security Info=False"
        cn.Open
        rs.CursorLocation = adUseClient
        rs.Open sql, cn, adOpenDynamic, adLockOptimistic
        Set MSHFlexGrid1.DataSource = rs
        Set DataGrid1.DataSource = rs
        Print rs.RecordCount
    End Sub
      

  9.   

    这个目录中没有这个工作组对应的LDB文件。我想请教的是:假如现在这个文件是被用的状态,如何用程序取得这种状态,而后用程序关闭这种状态。谢谢大家了。请再帮忙想想办法。
      

  10.   

    on error goto xxx
    '这里写你要打开的代码Exit Sub
    xxx:
    MsgBox "文件已经被打开"