"Where" 在验证规则中 - 访问 VBA
"Where" in the validation rule - Access VBA
这是我的问题:我有两个表。第一个是 Stock_out,它包含一个名为 Quantity_out
的字段。第二个是股票,它包含一个名为 Available_Quantity
的字段。这两个表共享一个名为 "RRN".
的字段
在Quantity_out
的验证规则中,我想做类似
的东西
[Quantity_out]>=[Stock].[Available_Quantity] where [RRN]=[Stock].[RRN]
问题是哪里不认识"where"。
我的访问版本是2016。
我该怎么做?
此致,
新加坡
这是另一个网站的解决方案。有效。
嗨,
无法在验证规则中引用不同的 table。
如果要在 table 级别应用这样的规则,有两种方法:
- 在更改前数据宏中使用宏代码(在 Access 版本 >=2010 中),
本文中的示例 4 显示了如何引用不同的 table
- 在所有 >=Access 2000 的版本中,您可以使用 CHECK 约束,但是它有缺点:
它只能通过 VBA+ADO 完成并且在 UI 中不可见,并且您(几乎)无法配置错误消息。满足您要求的代码:
CurrentProject.Connection.Execute_
"ALTER TABLE Stock_out"&_
“添加约束 Quantity_Must_Be_Higher_Or_Equal” & _
" 检查 (Stock_out.Quantity_out >= (SELECT Stock.Available_Quantity 来自库存" & _
" 哪里 Stock.RRN = Stock_out.RRN))"
该示例使用约束名称来提示用户出了什么问题,因为这是将某事写入系统错误消息的唯一方法。
铜
卡尔
Access FAQ (de/it): donkarl.com
Access Lobby: AccessDevelopers.org
这是我的问题:我有两个表。第一个是 Stock_out,它包含一个名为 Quantity_out
的字段。第二个是股票,它包含一个名为 Available_Quantity
的字段。这两个表共享一个名为 "RRN".
在Quantity_out
的验证规则中,我想做类似
[Quantity_out]>=[Stock].[Available_Quantity] where [RRN]=[Stock].[RRN]
问题是哪里不认识"where"。 我的访问版本是2016。 我该怎么做?
此致,
新加坡
这是另一个网站的解决方案。有效。
嗨,
无法在验证规则中引用不同的 table。
如果要在 table 级别应用这样的规则,有两种方法:
- 在更改前数据宏中使用宏代码(在 Access 版本 >=2010 中), 本文中的示例 4 显示了如何引用不同的 table
- 在所有 >=Access 2000 的版本中,您可以使用 CHECK 约束,但是它有缺点: 它只能通过 VBA+ADO 完成并且在 UI 中不可见,并且您(几乎)无法配置错误消息。满足您要求的代码: CurrentProject.Connection.Execute_ "ALTER TABLE Stock_out"&_ “添加约束 Quantity_Must_Be_Higher_Or_Equal” & _ " 检查 (Stock_out.Quantity_out >= (SELECT Stock.Available_Quantity 来自库存" & _ " 哪里 Stock.RRN = Stock_out.RRN))"
该示例使用约束名称来提示用户出了什么问题,因为这是将某事写入系统错误消息的唯一方法。
铜 卡尔 Access FAQ (de/it): donkarl.com Access Lobby: AccessDevelopers.org