这里我试图获取我的产品的记录,其中主表中的#swab位置与拭子表中的拭子位置数相匹配,用户可以检查Y / N以验证位置的描述是否正确
以下是我的2个表的示例。
tblMainEquipment
Asset_ID EquipmentName Num_SwapLocations Verified
234 Saijimon 2 N
235 Pasquale 3 N
tblMainSwapLocations
Asset_ID Swap_location
234 Particle Cannon
234 RailGun
235 Particle Cannon
我使用以下查询来计算记录数,我避免使用有查询来组合两个表,因为它不可更新。
qryMainSwapLocationCount
SELECT MSL.Asset_ID, Count(Asset_ID) AS [Count]
FROM tblMainSwapLocation AS MSL
GROUP BY MSL.Asset_ID;
这会给我
的结果qryMainSwapLocationCount
Asset_ID count
234 2
234 1
我使用以下内容作为表单的记录源,以允许用户验证输入。
SELECT MEQ.Asset_ID, MEQ.Equipment_Name,MEQ.Num_swapLocations MEQ.Verified
FROM tblMainEquipment AS MEQ, qryMainSwapLocationCount AS MSLC
WHERE (((MEQ.Asset_ID)=[MSLC].[Asset_ID]) AND ((MEQ.Num_SwapLocations)=[MSLC].[Count]);
这个结果将是
tblMainEquipment
Asset_ID EquipmentName Num_SwapLocations Verified
234 Saijimon 2 N
但是此记录集不可编辑。这有什么理由吗?
答案 0 :(得分:2)
我认为你应该将你的表 tblMainEquipment 作为你的记录源并将其中的所有字段带到你的表单上:
然后插入未绑定的文本框(可能靠近 Num_SwapLocations 字段以便于比较):
然后在这个新文本框中,将以下内容放在ControlSource中:
=DCount("ASSET_ID","tblMainSwapLocations","ASSET_ID=" & [Asset_ID])
然后打开您的表单,它应该计算表 tblMainSwapLocations 中与当前显示的记录具有相同 Asset_ID 的记录数:
然后,您就可以更新 tblMainEquipment 表中的已验证字段。