MS ACCESS 日期验证规则(大于数据库中的任何其他数据)
Posted
技术标签:
【中文标题】MS ACCESS 日期验证规则(大于数据库中的任何其他数据)【英文标题】:MS ACCESS Date Validation Rule ( greater than any other data in DB) 【发布时间】:2014-01-08 12:23:38 【问题描述】:我一直在为表单 ([F_Bill_Date]) 中的日期字段编写 MS-Access 验证规则。
此表单允许我创建一个计费数据寄存器并将其存储在一个名为“Bills”的表中。
我想为 [F_Bill_Date] 表单字段创建一个验证规则,以确保其中编辑的数据大于“账单”表中存储的任何其他数据。类似于 [F_Bill_Date] > SELECT MAX (Bill_Date) FROM Bills。
据我在教程中看到的,我认为规则应该是这样的:
MAX ([账单日期]) 或者 MAX ([账单].[账单日期])
但它们都不起作用。
有什么建议吗?
谢谢
【问题讨论】:
抱歉,我的问题可能不够清楚。我只有一个名为“Bills”的表格和一张表格,可以让我编辑每张新帐单的详细信息以插入我的独特表格(称为“Bills”)我在此表中插入的每个新行在“Bill_Date”列中的值都应大于表中已有的任何其他行。我在 ms-access 中寻找“直接”验证规则来验证此功能约束。最后我决定写一个 VB 事件函数( Private Sub Bill_Date_BeforeUpdate (.....) )。 【参考方案1】:您可以对表设置约束,以确保无论在何处使用该表,该约束都适用。您可以使用表单错误事件来捕获错误。
例如:
Sub AddConstraint()
'This could not be run in the query design window
'It adds a check against a table
sSQL = "ALTER TABLE Table2 ADD CONSTRAINT LimitRule " _
& "CHECK (EventDate <= (SELECT Max(BillDate) FROM Table3))"
CurrentProject.Connection.Execute sSQL
End Sub
见:http://msdn.microsoft.com/en-us/library/office/bb177889(v=office.12).aspx
【讨论】:
恐怕我的问题还不够。以上是关于MS ACCESS 日期验证规则(大于数据库中的任何其他数据)的主要内容,如果未能解决你的问题,请参考以下文章
如何设置验证规则:MS 访问中的“任务开始日期 >= 项目开始日期”
从 JAVA 访问存储在 MS-Access 数据库中的日期/时间数据