Allrighty,因为我对MS Access完全陌生而被困了几天。
我们说我有三张桌子:
所有数据都存储在Excel中,我将使用OperationTable在Access中处理和存储数据。
我可以做UPDATE QUERY来更新CustomerTable就好了。更新CustomerTable后,我需要更新订单表。我面临的问题是,在OrderTable中,我遗漏了custName,custPhone和custEmail,只使用了custID(我认为这是正确的方法)。任何人都可以帮助我如何从OP-tMain更新/插入数据并从CustomerTable中提取相应的cID?
EDIT。此处上传的示例文件==> https://drive.google.com/file/d/1fK3IDEd54Jfr6c-U2s5Bnm4TeK2TQZnM/view
答案 0 :(得分:0)
考虑使用联接查询进行追加和更新:
追加查询
INSERT INTO OrderTable (CustId, Ref)
SELECT c.CustID, o.Ref
FROM CustomerTable c
INNER JOIN [OP-tMain] o
ON c.custName = o.custName
更新查询以更新参考列,并为每位客户提供多个参考条目的相关计数匹配
UPDATE (OrderTable m
INNER JOIN CustomerTable c ON c.CustID = m.CustID)
INNER JOIN [OP-tMain] o ON c.custName = o.custName
SET m.Ref = o.Ref
WHERE DCOUNT("*", "OrderTable", "otID <=" & m.otID & " AND custID =" & m.custID) =
DCOUNT("*", "[OP-tMain]", "ID <=" & o.ID & " AND custName ='" & o.custName & "'")