【问题标题】:"Where" in the validation rule - Access VBA验证规则中的“位置” - 访问 VBA
【发布时间】:2016-02-25 08:02:58
【问题描述】:

这是我的问题:我有两张桌子。第一个是 Stock_out,它包含一个名为 Quantity_out 的字段。第二个是股票,它包含一个名为Available_Quantity 的字段。这两个表共享一个名为“RRN”的字段。

Quantity_out的验证规则中,我想做类似

[Quantity_out]>=[Stock].[Available_Quantity] where [RRN]=[Stock].[RRN]

问题是 where 无法识别“where”。 我的访问版本是2016。 我怎样才能做到这一点?

最好的问候,

SG

【问题讨论】:

    标签: vba validation where rule


    【解决方案1】:

    这是另一个网站的解决方案。它正在工作。

    嗨,

    不能在验证规则中引用不同的表。

    如果要在表级别应用这样的规则,有两种方法:

    1. 在更改前数据宏中包含宏代码(在 Access 版本 >=2010 中), 本文中的示例 4 展示了如何引用不同的表
    2. 在所有版本 >=Access 2000 中,您可以使用 CHECK 约束,但它有缺点: 它只能通过 VBA+ADO 完成,并且在 UI 中不可见,并且您(几乎)无法配置错误消息。满足您要求的代码: CurrentProject.Connection.Execute _ “ALTER TABLE 缺货” & _ " 添加约束 Quantity_Must_Be_Higher_Or_Equal" & _ " CHECK (Stock_out.Quantity_out >= (SELECT Stock.Available_Quantity FROM Stock" & _ " WHERE Stock.RRN = Stock_out.RRN))"

    该示例使用约束名称来提示用户出了什么问题,因为这是将某事写入系统错误消息的唯一方法。

    cu 卡尔 Access FAQ (de/it): donkarl.com Access Lobby: AccessDevelopers.org

    【讨论】:

      猜你喜欢
      • 2013-12-22
      • 1970-01-01
      • 2011-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-09
      • 2011-05-15
      相关资源
      最近更新 更多