做了一个主窗口“录入界面”,在所属表“表A”的 BeforeSaveDataRow 事件中写了如下代码做测试:
MessageBox.Show(e.DataRow("姓名"))
If Tables("表A").Current("姓名") <> "11" Then
MessageBox.Show("数据不符合校验")
End If
然后分别通过两种方法添加了保存按钮:
方法1:通过 菜单设计 在功能区-功能组 中添加了一个按钮,click事件添加如下代码:
Tables("表A").Current.Save()
方法2:在主窗口“录入界面”上添加一个标准按钮,click事件添加同样的如下代码:
Tables("表A").Current.Save()
现在我在主窗口“录入界面”中“姓名”文本框中输入“11”,在焦点不离开姓名文本框的情况下,点击功能区的保存按钮时,MessageBox.Show(e.DataRow("姓名")) 返回的是空值;而点击窗口上的保存按钮时,能正确返回值,即 MessageBox.Show(e.DataRow("姓名")) 返回的是“11”;
如果在姓名文本框中输入“11”后,焦点离开文本框,则此时点击两个保存按钮的结果是一致的,都能正确返回“11”。
请问在焦点不离开文本框的情况下,为什么功能区的保存按钮执行后返回的结果不对呢?