从 SQL 到 VBA 的 DLookup 语句

DLookup statement from SQL to VBA

请帮助解决这个语句:"Too few parameters expected 1"。

问题出在

If(IsNull([tblMaintWO]![Technian1]),'', DLookup('Initial', tblEmployees, 'EmpID=' & [tblMaintWO]![Technian1])) AS TechnianA

我不能把双引号放在语句中,否则会显示红色句子并引发错误。

strSQL = "SELECT tblMaintWO.MWONo, tblMaintWO.TaskOpenDate, tblMaintWO.MTRStation, tblMaintWO.Task, tblMaintWO.RequestedPriority, tblMaintWO.WorkOrderStatus, tblMaintWO.Technian1, "
strSQL = strSQL & "IIf([CMFollowUp] = True, 'CM', IIf([PreventiveMaint] = True, 'PM', IIf([EIVO] = True, 'EI/VO', 'Other'))) AS TaskType, "
strSQL = strSQL & "IIf(IsNull([tblMaintWO]![Technian1]),'', DLookup('Initial', tblEmployees, 'EmpID=' & [tblMaintWO]![Technian1])) AS TechnianA "
strSQL = strSQL & "FROM tblMaintWO, tblEmployees;"

试试这个:

strSQL = "SELECT tblMaintWO.MWONo, tblMaintWO.TaskOpenDate, tblMaintWO.MTRStation, tblMaintWO.Task, tblMaintWO.RequestedPriority, tblMaintWO.WorkOrderStatus, tblMaintWO.Technian1, "
strSQL = strSQL & "IIf([CMFollowUp] = True, 'CM', IIf([PreventiveMaint] = True, 'PM', IIf([EIVO] = True, 'EI/VO', 'Other'))) AS TaskType, "
strSQL = strSQL & "IIf(IsNull([tblMaintWO]![Technian1]),'', DLookup('Initial', 'tblEmployees', 'EmpID=' & [tblMaintWO]![Technian1] & '')) AS TechnianA "
strSQL = strSQL & "FROM tblMaintWO, tblEmployees;"