我在访问中有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记录集可能无法保存复杂的语句。原谅我格式不佳,因为我现在只能使用手机。我所有尝试使用此代码的尝试均以失败告终,我将非常乐意提供任何扩展帮助。
我随时为您澄清。
答案 0 :(得分:0)
我想我可能会更早读错这个。如果只需要将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