'****************************************************************************************************
'MainTableChanging
'切换主表前执行,也就是MainTable发生变化前执行
'====================================================================================================
If DataTables(e.OldTableName).HasChanges = True Then
Dim Result As DialogResult
Result = MessageBox.Show(e.OldTableName & "数据已修改且未保存,现在保存吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
If Result = DialogResult.Yes Then
_saveOK = False
DataTables(e.OldTableName).Save()
If _saveOK = False Then
e.Cancel = True
MessageBox.Show("_saveOK =" & _saveOK )
End If
Else
e.Cancel = True
End If
End If
'****************************************************************************************************
以上代码是MainTableChanging事件代码,另外在DataTables(e.OldTableName)表的beforesavedataror事件中设置了当保存后_saveOK为true,未完成保存就为false. 目前存在以下问题:
在老主表有数据未保存,人工切换到新主表时,会提示是否保存老主表,当点击对话框 否 时,程序正常,主表保持在老主表上,当 点击对话框 是 时,开始保存老主表,若老主表未正常保存,将变量_saveOK置为false,正常应该是不能将主表切换到新主表上去,但不知什么原因,明明_saveOK = False ,但主表还是切换到新主表去了,请老师看看是什么原因?