I'm having issues with creating a pass through query through the VBA code. I've run the whole query statement through a regular pass through query (creating a query in design SQL mode, not through VBA) and it runs just fine. However when i try to run the code it fails and gives me this error:
"Syntax error (missing operator) in query expression 'OverUnder = CASE JobInfo.BillType WHEN 'Unit Price' THEN 0 ELSE (JobInfo.AdjWgt - (Submittals.DetWgt + JobInfo.BalToDet)) END'."
Again, I've run this through a regular query and it runs just fine:
Code:
strSQL = "SELECT Loc.Area, JobInfo.JobNum, JobInfo.JobName, JobInfo.Cstmr1, " & _
"Employees.FirstName + ' ' + Employees.LastName AS Detlr, JobInfo.Sales, MrktCat.MrktCatDesc AS MrktCat, " & _
"JobInfo.BillType, JobInfo.LastInvoice, JobInfo.EstWgt, JobInfo.AdjWgt, JobInfo.DelWgt, JobInfo.BalToDet, " & _
"JobInfo.EstLastDel, JobInfo.Comments,JobInfo.DetStatus, JobInfo.JobStatus, Submittals.DetWgt, " & _
"(JobInfo.DelWgt/(Submittals.DetWgt+JobInfo.BalToDet)) AS PercDel, " & _
"(Submittals.DetWgt/(Submittals.DetWgt+JobInfo.BalToDet)) AS PercDet, " & _
"OverUnder = CASE JobInfo.BillType WHEN 'Unit Price' THEN 0 ELSE (JobInfo.AdjWgt - (Submittals.DetWgt + JobInfo.BalToDet)) END, " & _
"(JobInfo.AdjWgt-JobInfo.DelWgt) AS BalToDel " & _
"FROM (SELECT JobNum, SUM(DetWgt) AS DetWgt FROM ntblSubmittals GROUP BY JobNum) AS Submittals " & _
"JOIN ntblJobInfo AS JobInfo ON Submittals.JobNum = JobInfo.JobNum " & _
"JOIN ntblJobUsers AS JobUsers ON JobUsers.JobNum = JobInfo.JobNum " & _
"JOIN ntblEmployees AS Employees ON Employees.Username = JobUsers.Username " & _
"JOIN ntblMrktCat AS MrktCat ON MrktCat.MrktCatCode = JobInfo.MrktCat " & _
"JOIN ntblLoc AS Loc ON (Loc.FabLoc = JobInfo.SoldLoc OR Loc.FabLoc = JobInfo.DetLoc OR Loc.FabLoc = JobInfo.FabLoc) " & _
"WHERE ((JobInfo.JobStatus = 'Open' Or JobInfo.JobStatus = 'On Hold') And JobUsers.Role = 'Lead Detailer')" & _
"ORDER BY JobInfo.JobNum"
Set qryDef = dbCMC.CreateQueryDef(strQueryName, strSQL)
qryDef.Connect = "ODBC;DSN=******;Description=******;UID=******;PWD=****;"