Validation Access 2013:检查另一个表中是否存在值

Validation Access 2013:检查另一个表中是否存在值,validation,ms-access,reference,sql-update,relational-database,Validation,Ms Access,Reference,Sql Update,Relational Database,我刚刚发现了Access,一直是一个Excel/VBA人。。。现在我遇到了障碍 我正在为我的雇主建立一个库存数据库。我有两个表,一个包含一列'stockID'(我们称这个表为'tblWarehouse'),另一个包含两列:一列'orderID'和一列'stockID'(我们称这个表为'tblOrders')。(为了这个问题,我们先不考虑数量、价格等因素) 我们并不是把所有出售的商品都放在自己的仓库里,有些是直接从制造商那里采购给客户的,这意味着并非所有的货主都是这样!stockID将出现在tbl

我刚刚发现了Access,一直是一个Excel/VBA人。。。现在我遇到了障碍

我正在为我的雇主建立一个库存数据库。我有两个表,一个包含一列'stockID'(我们称这个表为'tblWarehouse'),另一个包含两列:一列'orderID'和一列'stockID'(我们称这个表为'tblOrders')。(为了这个问题,我们先不考虑数量、价格等因素)

我们并不是把所有出售的商品都放在自己的仓库里,有些是直接从制造商那里采购给客户的,这意味着并非所有的货主都是这样!stockID将出现在tblWarehouse列表中!斯托克德。我要弄清楚什么时候是这样

我想在tblOrders中创建第三列,其中包含一个虚拟变量=1,如果该特定项目在我们的仓库中。换句话说,如果tblOrders!stockID可以在tblWarehouse找到!斯托克德。这能做到吗

我发现我不能直接引用另一个表,所以我一直在尝试查询、用户定义函数和关系,但都没有用。我也一直在使用不同地方的行话和名副其实的森林来输入看似相同的表达式时遇到麻烦。。。所以,如果你有一个答案给我,请务必指定物品的位置


非常感谢

如果使用内部联接在查询中链接两个表,则结果中将只包括至少有一个库存条目的订单记录。为了包含那些根本没有库存条目的项目,请创建一个左外部联接

SELECT O.OrderID, IIf(IsNull(MAX(W.StockID)), 0, 1) AS StockAvailable
FROM
    tblOrder O
    LEFT JOIN tblWarehouse W
        ON O.StockID = W.StockID
GROUP BY O.OrderID
您还可以在查询设计器中通过右键单击关系行并选择“连接属性”,然后选择“包含
tblOrders
中的所有记录”,来确定连接类型。您可以通过单击符号列表中的大西格玛符号进行分组查询