2013-07-08 2 views
0

j'utilisais le code suivant pour interroger ma base de données dans DAO, qui a bien fonctionné:Passé de DAO à requête ADO et SQL renvoie maintenant une erreur, des idées?

SELECT * 
FROM (Resources LEFT JOIN [Select * FROM AvailabilityBlocks LEFT JOIN Location ON AvailabilityBlocks.LocationID=Location.LocationID WHERE ((CStr(AvailabilityBlocks.LocationID) IN ('8', '14', '16', '1', '15', '17', '10', '9', '19', '12', '5', '18', '13', '20', '3', '26', '2', '25', '28', '27') AND (AvailabilityBlocks.Type = 3 OR AvailabilityBlocks.Type = 4)) OR AvailabilityBlocks.Type = 2) AND Begin < #15-Jul-2013 12:00:00 AM# And Begin >= #08-Jul-2013 12:00:00 AM#]. AS FilteredTable ON Resources.ResourceID=FilteredTable.ResourceID) LEFT JOIN EmployeeTypes ON EmployeeTypes.TypeID=Resources.EmployeeType ORDER BY RClass, Resources.LastName ASC, Resources.FirstName ASC, Resources.ResourceID ASC, AvailabilityBlocks.Begin ASC, AvailabilityBlocks.End Desc, Location.SubType DESC 

je puis converti tout mon code à ADO et SQL a cessé de fonctionner et montre maintenant une

Syntaxe erreur dans la clause FROM.

message d'erreur!

Toute aide serait appréciée!

+0

Nous avons besoin de savoir ce qu'est le SGBDR backend. Ou ... cette chose appelée JET (mdb/accès) si c'est le cas. – granadaCoder

+0

J'utilise la dernière version de JET! – user1801904

Répondre

0

Essayez ceci. Je pense que la façon dont vous fermez votre table dérivée ("FilteredTable") est désactivée. Aussi. Vous pouvez essayer un alias de table ...

SELECT * 
FROM 
Resources res 
LEFT JOIN (
[Select * FROM AvailabilityBlocks avb LEFT JOIN Location loc ON avb.locID=loc.locID 
WHERE ((CStr(avb.locID) IN ('8', '14', '16', '1', '15', '17', '10', '9', '19', '12', '5', '18', '13', '20', '3', '26', '2', '25', '28', '27') 
AND (avb.Type = 3 OR avb.Type = 4)) OR avb.Type = 2) 
AND Begin < #15-Jul-2013 12:00:00 AM# And Begin >= #08-Jul-2013 12:00:00 AM#]) AS FilteredTable 
ON res.ResourceID=FilteredTable.ResourceID) 

LEFT JOIN EmployeeTypes ON EmployeeTypes.TypeID=res.EmployeeType 

ORDER BY RClass, res.LastName ASC, res.FirstName ASC, res.ResourceID ASC, avb.Begin ASC, avb.End Desc, loc.SubType DESC 
+0

Malheureusement, votre code ne fonctionne pas non plus .. si j'essaie d'exécuter la requête directement dans MS Access, le "]" est en surbrillance et l'erreur est toujours Erreur de syntaxe dans la clause FROM! D'autres idées? – user1801904

+0

Débarrassez-vous de [ – granadaCoder

Questions connexes