【发布时间】:2012-10-18 17:10:21
【问题描述】:
我有一个跟踪发票的 MS Access 数据库。在我用来输入数据的表格中,我可以控制发票金额(例如 100 美元)的 [金额]。在该表格中,还有一个子表格可以跟踪发票的部分内容(例如 50 美元的食品供应和 50 美元的清洁用品)。主窗体还有一个控件[Breakdown Total],用于汇总子窗体中的细目金额。
我正在努力做到这一点,除非 [Amount] = [Breakdown Total],否则您无法更改表单中的记录。由于是两表结构,数据验证规则似乎无法按照我想要的方式工作,因为它实际上仅在您填写 [Amount] 控件时才有效,而不是在您随后更改细分时才有效。
我想构建一个事件来处理这个问题,但我不知道要使用什么事件——BeforeUpdate 不允许我离开不匹配的控件,这没有帮助——如果那样的话正确的?--而且 AfterUpdate 似乎不允许我要求将可疑记录保留在屏幕上。有人可以推荐我应该使用的活动吗?
【问题讨论】:
-
稍微扩展一下您的表单/子表单的绑定方式?是基于表/查询还是 VBA 控制?
-
现在它是基于表/查询的。有一个应付账款表和一个单独的应付账款明细表,它将每条记录(发票的一部分)链接到应付账款表中的发票编号。
-
在这一点上,我想我只是不知道如何将VB放在一起以使其恰到好处,也不知道将代码放入的事件。
-
我过去所做的是构建父表单来保存基本信息,如果我需要一个子表单,我会根据父表单的选择开发该子表单。考虑选择和情况是非常需要开发的。
标签: ms-access validation