同时运行多个程序,用下面这段程序添加数据到access数据库,经常报错提示:"-2147467259无法更新;当前被锁定"这样的信息,然后就再也不能添加记录,除查询以外的操作都不能做了.程序段如下:
On Error GoTo A1
Adodc2.RecordSource = "select * from table where 1=0"
Adodc2.RefreshWith Adodc2.Recordset
.AddNew
        .Fields("field1") = Trim(Text7.Text)
        .Fields("field2") = Trim(Text8.Text)
        .Fields("field3") = Trim(Text2.Text)
        .Fields("field4") = Trim(Text3.Text)
        .Fields("field5") = Trim(Text6.Text)
       .Update
End With
MsgBox ("程序文件已增加!")Exit Sub
A1:
MsgBox Err.Number & Err.Description请各位高手多多指教.

解决方案 »

  1.   

    我不太清楚你所谓的运行多个程序一般一个数据库只需要一个conn去独占
      

  2.   

    具体情况是:在多个电脑上,通过网络共享方式,访问同一个access数据库.
    一个人运行程序的时候不会有错误,多个人访问的时候就会出现问上面所说的错误.请各位帮我想想,究竟是什么原因引起的.
    能不能解决.
      

  3.   

    因为多人操作表一定会出现这样的问题,打开recordset的时候用独占去打开.不允许写就不会出错了只有释放才允许.
      

  4.   

    如果牵扯到并发不建议用access
    用sql server吧
      

  5.   

    被锁就对了。否则会发生写冲突。试试:
    1 不要使用 ADODC,用 recordset 来做,写完数据后释放 recordset。

    2 用 Execute 方法:
    Adodc2.RecordSource.ActiveConnection.Execute "INSERT INTO [table](field1, field2, field3, field4, field5) VALUE('" & Text7 & "', '" & Text8 & "', '" & Text2 & "', '" & Text3 & "', '" & Text6 & "')"