验证规则中的“Where” - 访问VBA

时间:2016-02-25 08:02:58

标签: vba validation where rule

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

Quantity_out的验证规则中,我希望制作类似

的内容
[Quantity_out]>=[Stock].[Available_Quantity] where [RRN]=[Stock].[RRN]

问题在于哪里无法识别“哪里”。 我的访问版本是2016。 我该怎么做?

致以最诚挚的问候,

SG

1 个答案:

答案 0 :(得分:0)

以下是其他网站的解决方案。它正在工作。

您好,

无法在验证规则中引用其他表格。

如果要在表级应用此类规则,有两种方法:

  1. 使用更改前数据宏中的宏代码(在Access版本> = 2010中), 本文中的示例4显示了如何引用不同的表
  2. 在所有版本中> = Access 2000您可以使用CHECK约束,但是它有缺点: 它只能通过VBA + ADO完成,并且在UI中不可见,并且您(几乎)无法配置错误消息。符合您要求的代码: CurrentProject.Connection.Execute _ " ALTER TABLE Stock_out" &安培; _    " ADD CONSTRAINT Quantity_Must_Be_Higher_Or_Equal" &安培; _    "检查(Stock_out.Quantity_out> =(选择Stock.Available_Quantity FROM Stock"& _    "在哪里Stock.RRN = Stock_out.RRN))"
  3. 该示例使用约束名称为用户提供了一个错误提示,因为这是将信息写入系统错误消息的唯一方法。

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