[英]Update MS access table using VBA recordset with 2/more inner join sub statements
我在访问中有3个表-tblUsers,tblAssignnent和tblJob。 在tblJob中,使用VBA中的一系列计算,我到达了数据转储,该数据转储将由我的质量(QC)团队进行。 tblUsers列出了我们所有员工以及他们在全球的位置。 tblAssignnent定义了哪个QC团队分析师将处理我们全球员工处理的案件。 例如。 QCID 123需要处理我们在中国工作的所有3级案件。 因此,VBA必须将QCID 123分配给中国个人在第3级工作的所有行。我们大约有20个这样的QC ID,平均每天处理1000个案例。
同样,这里要注意的是tblUsers定义了每个员工的名称和位置-tblAssignnent定义了每个员工的位置和级别以及预期有效的QC ID。 tblJob具有人员名称和级别。 看看他下面的快照,
tblUsers
NAME LOCATION
Mathew Shanghai
John New York
Peter Dubai
tblAssignnent
QCID LEVEL LOCATION
123 L3 Shanghai
135 L1 New York
tblJob
QCID LEVEL NAME CASEID
L3 Mathew 001283526
L1 John 827271729
因此,基本上我需要使用VBA在tblJob中使用123和135更新QCID。 我尝试在记录集中进行INNER JOIN,但我一直收到错误消息。 在搜索时,显然VBA记录集可能无法保存复杂的语句。 原谅我格式不佳,因为我现在只能使用手机。 我在此代码上所做的所有尝试均以失败告终,我将非常乐意提供任何扩展帮助。
我随时供您进一步澄清。
我想我可能早些看错了。 如果只需要将QCID添加到表Job中,则它非常简单:
UPDATE (tblJob
INNER JOIN tblAssignment ON tblJob.LEVEL = tblAssignment.LEVEL)
INNER JOIN tblUsers ON (tblUsers.Location = tblAssignment.Location)
AND (tblJob.EName = tblUsers.EName)
SET tblJob.QCID = tblAssignment.QCID
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.