Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何在microsoft access中验证具有表行值的表单输入字段?_Sql_Vba_Database_Ms Access - Fatal编程技术网

Sql 如何在microsoft access中验证具有表行值的表单输入字段?

Sql 如何在microsoft access中验证具有表行值的表单输入字段?,sql,vba,database,ms-access,Sql,Vba,Database,Ms Access,我在Access中设置验证规则时遇到问题 我有一个数据库,里面有表Clients、TypeClient、Sales、SalesList和Items 我有一个销售表单,里面有一个子表单SalesList,它与项目有关系,以便我在销售中放置多个库存项目,而不是只放置一个项目 销售表内有ID、销售日期、客户ID。 SalesList内部是ID\u列表(在Sales中引用ID)、ID\u项目(在Items中引用ID)、数量。 内部项目包括ID、名称、库存(我们有多少库存)、价格 问题是,我试图验证我在子

我在Access中设置验证规则时遇到问题

我有一个数据库,里面有表Clients、TypeClient、Sales、SalesList和Items

我有一个销售表单,里面有一个子表单SalesList,它与项目有关系,以便我在销售中放置多个库存项目,而不是只放置一个项目

销售表内有ID、销售日期、客户ID。

SalesList内部是ID\u列表(在Sales中引用ID)、ID\u项目(在Items中引用ID)、数量。

内部项目包括ID、名称、库存(我们有多少库存)、价格

问题是,我试图验证我在子表单数量字段中输入的数据是否高于0,但不高于可用库存

问题是,我曾尝试使用表达式生成器从一个计算查询中获取值,该查询有两个字段—ID和该ID的值,以及从主窗体、子窗体、组合框输入和查询中获取ID的条件

但是当你想这样做的时候:

它显示一个错误“您在表单控件的ValidationRule属性中输入的表达式[Query bla]包含错误对象不包含自动化对象“Query bla”

我尝试直接使用表值(但它无论如何都不会工作,因为它不知道从哪个字段获取股票值),仍然是相同的错误。我猜它不能引用其他任何东西?正常的验证规则是有效的,但我想验证它,使其不超过我现在出售的商品的可用库存值

互联网上没有关于如何使用expression builder的教程。那么人们如何验证他们的字段呢

举例来说,在这种情况下,当我目前只有两件物品的库存时,它不会阻止我卖出200件物品

注意:我在expression builder中尝试过DlookUp,直接告诉我“否”

示例错误的验证规则表达式生成器代码:


不要使用表达式生成器(我从未使用过)-只需在属性中键入所需的表达式即可


<代码> 0,并考虑在更新事件之前使用数量控件进行验证。我对这个话题有点生疏。理想情况下,库存余额不会保存到表中,而是在需要时根据原始数据进行计算。复习

Private Sub ID_Product_IZBOR_Click()
    'Me.Stock_ValueField = DLookup("[Nalichnost]", "Stoka", "[ID]=" & Me.ID_Product_IZBOR)

    Me.Stock_ValueField = Me.ID_Product_IZBOR.Column(2)
End Sub