Davidmc555
Programmer
Hi. I've had a quick look around to find the answer to the problem I'm having but with no luck.
I'm writing a VBA app for my company over a Access DB.
I've done plenty of queries, but this one is being a pain.
==========================================================
(VBA Code)
Set dbMain = CurrentDb
DoCmd.SetWarnings False
sqlPack = "SELECT TOP 1 CustID, Ref FROM Camden INNER JOIN CamdenAccess " & _
"ON Camden.[Order] = CamdenAccess.[Order] INNER JOIN " & _
"AccessoryPackItems ON CamdenAccess.AccessID = AccessoryPackItems.AccessID " & _
"WHERE AccessoryPackItems.PackageID = " & lngCurrentPackage
Set rsPackage = dbMain.OpenRecordset(sqlPack, dbOpenDynaset, dbSeeChanges)
lngAPCustID = rsPackage.Fields("CustID")
strAPRef = rsPackage.Fields("Ref")
sqlAccess = "SELECT CustID, Ref FROM Camden INNER JOIN CamdenAccess ON Camden.[Order] = " & _
"CamdenAccess.[Order] WHERE CamdenAccess.AccessID = " & lngAccessID
Set rsAccess = dbMain.OpenRecordset(sqlAccess, dbOpenDynaset, dbSeeChanges)
lngCACustID = rsAccess.Fields("CustID")
strCARef = rsAccess.Fields("Ref")
===========================================================
Just to clear up, sqlPack is a string value, lngCurrentPackage is a long. Basically anything with lng at the begining of the name is a long and str is a string.
I've tried various round brackets and double quotes but I still get the following error.
"Run-time error '3075':
Syntax error (missing operator) in query expression 'Camden.[Order] = CamdenAccess.[Order] INNER JOIN AccessoryPackItems ON CamdenAccess.AccessID = AccessoryPackItems.AccessID'."
Just before I finish the post, while in debug mode, I stepped over the first query and the second query ran fine and returned to the recordset.
Can anyone in their infinite wisdom see what I doing wrong?
Thanks in advance.
I'm writing a VBA app for my company over a Access DB.
I've done plenty of queries, but this one is being a pain.
==========================================================
(VBA Code)
Set dbMain = CurrentDb
DoCmd.SetWarnings False
sqlPack = "SELECT TOP 1 CustID, Ref FROM Camden INNER JOIN CamdenAccess " & _
"ON Camden.[Order] = CamdenAccess.[Order] INNER JOIN " & _
"AccessoryPackItems ON CamdenAccess.AccessID = AccessoryPackItems.AccessID " & _
"WHERE AccessoryPackItems.PackageID = " & lngCurrentPackage
Set rsPackage = dbMain.OpenRecordset(sqlPack, dbOpenDynaset, dbSeeChanges)
lngAPCustID = rsPackage.Fields("CustID")
strAPRef = rsPackage.Fields("Ref")
sqlAccess = "SELECT CustID, Ref FROM Camden INNER JOIN CamdenAccess ON Camden.[Order] = " & _
"CamdenAccess.[Order] WHERE CamdenAccess.AccessID = " & lngAccessID
Set rsAccess = dbMain.OpenRecordset(sqlAccess, dbOpenDynaset, dbSeeChanges)
lngCACustID = rsAccess.Fields("CustID")
strCARef = rsAccess.Fields("Ref")
===========================================================
Just to clear up, sqlPack is a string value, lngCurrentPackage is a long. Basically anything with lng at the begining of the name is a long and str is a string.
I've tried various round brackets and double quotes but I still get the following error.
"Run-time error '3075':
Syntax error (missing operator) in query expression 'Camden.[Order] = CamdenAccess.[Order] INNER JOIN AccessoryPackItems ON CamdenAccess.AccessID = AccessoryPackItems.AccessID'."
Just before I finish the post, while in debug mode, I stepped over the first query and the second query ran fine and returned to the recordset.
Can anyone in their infinite wisdom see what I doing wrong?
Thanks in advance.