If Tables("采购单").Current("审核") = "已审核" Then '先判断单据是否已经审核,如果已经审核就直接退出,如果是未审核,开始下面的判断.
Forms("采购单").close
Else
If DataTables("采购明细").HasChanges Then
If MessageBox.Show("采购表已经被修改,是否保存?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
Tables("采购单").Current.Save()
Tables("采购单.采购明细").Save()
Forms("采购单").close
Else
Dim idxs As String = "-1,"
For Each dr As DataRow In DataTables("采购明细").datarows
If dr.RowState = DataRowState.Added Then
idxs &= dr("_Identify") & ","
dr.Delete
End If
Next
Tables("采购单").Current.Save()
Tables("采购单.采购明细").Save()
DataTables("采购明细").DeleteFor("_Identify in (" & idxs & ")")
End If
Else
End If
Forms("采购单").close
End If
上面的代码,我首先判断单据是否已经审核,如果是“已审核”就直接关闭窗口。我主要是想跳过HasChanges的提醒,因为已审核就意味着已经保存了,不需要提醒了。但是实际还是不行,仍然跳出提醒?为什么?