后来,帮助补充了一段话:
死锁与强制解锁
如果用户在编辑过程中非正常退出,可能会导致死锁,我们再也无法编辑此行,要解决这个问题,有两个方法:
方法一
增加一个强制解锁按钮,代码为:
Tables("员工").Current("编辑者") = Nothing
Tables("员工").Current.Save()
方法二
将原代码中的:
Dim exp As String = "编辑者 Is Null And [_Identify] = " & e.Row("_Identify")
改为:
Dim exp As String = "(编辑者 Is Null Or 编辑者 = '" & User.Name & "') And [_Identify] = " & e.Row("_Identify")
这样如果某个用户在编辑某行的过程中非正常退出,导致此行被锁死,那么该用户只需重新启动FoxTable,继续编辑此行,然后正常保存或退出,即可解锁。