这种情况的出现,一般是上一次进行update后,有的字段可能的默认值或被其它用户更改,却没有进行同步,在下一次进行update时,就会出现这种错误。
解决办法:
在每次update后,或改变数据前,使用
rs.Resync adAffectCurrent
语句即可。
示例:
aa
=
"
sdfgsgsgsdf9866234
"
Do Until ttrs.EOF
If ttrs( " 就业单位 " ) & "" <> aa Then rs.AddNew
rs( " 就业单位 " ) = ttrs( " 就业单位 " ) & ""
rs( " 就业人数 " ) = Val(rs( " 就业人数 " ) & "" ) + ttrs( " cnt " )
If ttrs( " 性别 " ) = " 男 " Then rs( " 男 " ) = ttrs( " cnt " )
If ttrs( " 性别 " ) = " 女 " Then rs( " 女 " ) = ttrs( " cnt " )
rs.Update
rs.Resync adAffectCurrent
aa = ttrs( " 就业单位 " ) & ""
ttrs.MoveNext
Loop
' '如果没有rs.Resync adAffectCurrent 这条,在第二次进行update时,便会报错。
Do Until ttrs.EOF
If ttrs( " 就业单位 " ) & "" <> aa Then rs.AddNew
rs( " 就业单位 " ) = ttrs( " 就业单位 " ) & ""
rs( " 就业人数 " ) = Val(rs( " 就业人数 " ) & "" ) + ttrs( " cnt " )
If ttrs( " 性别 " ) = " 男 " Then rs( " 男 " ) = ttrs( " cnt " )
If ttrs( " 性别 " ) = " 女 " Then rs( " 女 " ) = ttrs( " cnt " )
rs.Update
rs.Resync adAffectCurrent
aa = ttrs( " 就业单位 " ) & ""
ttrs.MoveNext
Loop
' '如果没有rs.Resync adAffectCurrent 这条,在第二次进行update时,便会报错。