我要更新记录时出错,代码如下:
With rec
rec.Fields("col_TransID").Value = txtFields(0).Text
rec.Fields("col_Name").Value = txtFields(1).Text
rec.Fields("col_Address").Value = txtFields(2).Text
rec.Fields("col_SysFunc").Value =txtFields(3).Text
rec.Fields("col_Tel").Value = txtFields(4).Text
.UpdateBatch
End With系统都提示:“无法为更新行集定位,一些值可能已在最后读取时改变”
然后停在.UpdateBatch上面,而增加新记录时则没问题,代码如下:
With rec
.AddNew
rec.Fields("col_TransID").Value = txtFields(0).Text
rec.Fields("col_Name").Value = txtFields(1).Text
rec.Fields("col_Address").Value = txtFields(2).Text
rec.Fields("col_SysFunc").Value =txtFields(3).Text
rec.Fields("col_Tel").Value = txtFields(4).Text
.Update
End With
请高手看看,到底是哪里出错了,多谢!
With rec
rec.Fields("col_TransID").Value = txtFields(0).Text
rec.Fields("col_Name").Value = txtFields(1).Text
rec.Fields("col_Address").Value = txtFields(2).Text
rec.Fields("col_SysFunc").Value =txtFields(3).Text
rec.Fields("col_Tel").Value = txtFields(4).Text
.UpdateBatch
End With系统都提示:“无法为更新行集定位,一些值可能已在最后读取时改变”
然后停在.UpdateBatch上面,而增加新记录时则没问题,代码如下:
With rec
.AddNew
rec.Fields("col_TransID").Value = txtFields(0).Text
rec.Fields("col_Name").Value = txtFields(1).Text
rec.Fields("col_Address").Value = txtFields(2).Text
rec.Fields("col_SysFunc").Value =txtFields(3).Text
rec.Fields("col_Tel").Value = txtFields(4).Text
.Update
End With
请高手看看,到底是哪里出错了,多谢!
对于批处理更新应使用键集游标或静态游标。请将 LockType 属性设置为 adLockBatchOptimistic,然后将 CursorLocation 属性设置为 adUseClient
或者在记录不多的情况下用UPDATE逐条更新
col_TransID是主键,我只更新了其中的部分字段,不是全部更新。
我用的是我机器上的数据库,没和别人共用,所以是不会出现两人用同一个表的现象的。
另外这个问题在Access 中就没问题!
With rec
.Fields("col_TransID").Value = txtFields(0).Text
.Fields("col_Name").Value = txtFields(1).Text
.Fields("col_Address").Value = txtFields(2).Text
.Fields("col_SysFunc").Value =txtFields(3).Text
.Fields("col_Tel").Value = txtFields(4).Text
.UpdateBatch
End With
.edit
rec.Fields("col_TransID").Value = txtFields(0).Text
rec.Fields("col_Name").Value = txtFields(1).Text
rec.Fields("col_Address").Value = txtFields(2).Text
rec.Fields("col_SysFunc").Value =txtFields(3).Text
rec.Fields("col_Tel").Value = txtFields(4).Text
.Update
End With
但rec.Update为何不行呢
"Driver={SQL Server};Password=;Persist Security Info=True;UID=sa;DataBase=DBName;Server=Server"
这个估计是没人能解决了,论坛版主也不会吗?
on error goto updateerr
adodc1.recordset.updatebatch
exit sub
updateerr:
msgbox err.description