我可以在Access数据库的两个表之间使用两个联接吗?
我有一个客户数据库,我的客户名称出现在两个不同的字段中,我想将客户名称转换为简称,然后在一个字段中的查询中将其返回。
为了解决这个问题,我创建了一个包含所有客户名称及其缩写的第二张表,然后将“ CustName”字段与主表中的“ Customer_Name”字段相关联,在查询中,我返回了我的简称顾客。难题在于,某些客户名称(例如Toyota)出现在“ customer_Plant”字段中,而不是“ customer_Name”字段中(请参见图片)。我想在每个工厂位置使用不同的丰田简称。另一个困难是,除丰田以外,我的原始表中的“ Customer_Plant”字段并非总是填充。
有什么办法可以使用两个不同表之间的多个关系?这样访问查询不仅可以通过“ customer_Name”返回短名称,还可以同时通过“ Customer_Plant”返回短名称。
如果表之间存在一个联接,则访问不允许我将“ Customer_Plant”与“ custPlant”联接。我还有其他方法可以实现这一目标吗?
Tbl_claimdata和tbl_custShortName:
在表之间加入:
当前输出:
答案 0 :(得分:0)
如果在任何一个或两个表中均未提供植物名称,请考虑:
查询1:Claims_ADJ
选择tblCustClaimData.Customer_Name, tblCustClaimData.Customer_Plant,Nz([Customer_Plant],[Customer_Name]) AS LinkNameClaim FROM tblCustClaimData;
查询2:Short_ADJ
选择tblShortCustName.CustName,tblShortCustName.PlantName, Nz([PlantName],[CustName])AS LinkNameShort, tblShortCustName.ShortName来自tblShortCustName;
Query3:
从“ Short_ADJ”右侧选择“ Customer_Name”,“ Customer_Plant”,“ ShortName” JOIN Claims_ADJ ON Short_ADJ.LinkNameShort = Claims_ADJ.LinkNameClaim;
Query3不可更新,因此可能仅对报告有用。
因此,也可以在查询(不需要查询2和3)或文本框中进行DLookup:
DLookUp(“ ShortName”,“ tblShortCustName”,“ Nz([PlantName],[CustName])='” &Nz([Customer_Plant],[Customer_Name])&“'”)