代码本身没有问题。假如录入的时候使用Delete键清除数据后再重新录入,并且焦点没有离开输入框,会出现这种情况。做法是用代码使得焦点离开编辑的单元格
With Tables("支付情况登记表")
Dim nr As Row = Tables("支付情况登记表").Rows(Tables("支付情况登记表").Rows.Count -1)
.Position = .Position -1
If nr("项目名称") = Nothing OrElse nr("发生日期") = Nothing OrElse nr("收款方") = Nothing OrElse nr("分类") = Nothing OrElse nr("已付金额") = Nothing
Dim Result1 As DialogResult
Result1 = MessageBox.Show("数据录入不完整,请继续录入!", "提示")
Else
Dim Result2 As DialogResult
Result2 = MessageBox.Show("请再次确认数据是否无误,保存后将不能修改!", "提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Warning )
If Result2 = DialogResult.ok Then
nr.Locked = True
nr.Save()
End If
End If
End With