2017-07-23 5 views
0

Ich habe eine Abfrage in MS Access geschrieben, wenn ich versuche, diese Abfrage auszuführen, bekomme ich einen Fehler. Ich kann das Problem darin nicht herausfinden.Syntaxfehler (fehlender Operator) in Abfrageausdruck in MSAccess

SELECT 
p.[ID] as [ID], 
p.[Code] as [CODE], 
p.[DESCRIPTION] as [DESCRIPTION], 
p.[Coloring] as [Coloring], 
p.[Sizing] as [Sizing], 
p.[BarCode] as [Barcode], 
p.[PartsNo] as [PartsNo], 
p.[HSN_SAC] as [HSN_SAC], 
p.[GSTRate] as [GSTRate], 
p.[Remarks] as Remarks, 
c.[CODE] as [CategoryCode], 
c.[Description] as [CategoryDescription], 
b.[CODE] as [BrandCode], 
b.[Description] as [BrandDescription], 
s.[Id] as [SupplierId], 
s.[Code] as [SupplierCode], 
s.[Description] as [SupplierDescription] 
FROM [PRODUCTMASTER] p LEFT JOIN [CATEGORYMASTER] c on p.[CategoryId] = c.[ID] 
LEFT JOIN [BRANDMASTER ] b on p.[BrandId] = b.[ID] 
LEFT JOIN [SUPPLIERAMSTER] s on p.[SupplierId] = s.[ID] 

enter image description here

+0

Es könnte der Platz nach BRANDMASTER oder die Rechtschreibfehler von SUPPLIERAMSTER sein. –

+0

Ich habe noch einmal überprüft, bis jetzt keine Rechtschreibfehler gefunden @AndyG –

Antwort

1

Wenn Sie mehr als zwei Tabellen verknüpfen, Klammern benötigt:

FROM (([PRODUCTMASTER] p LEFT JOIN [CATEGORYMASTER] c on p.[CategoryId] = c.[ID]) 
LEFT JOIN [BRANDMASTER ] b on p.[BrandId] = b.[ID]) 
LEFT JOIN [SUPPLIERAMSTER] s on p.[SupplierId] = s.[ID] 

Ich würde empfehlen, SQL-Abfragen mit Hilfe von Abfrage builer zu bauen, ist es viel einfacher, als manuell und Sie gewonnen‘ Ich habe Schreibfehler und Belichtungsfehler wie diese. Überprüfen Sie noch einmal nach dem Platz nach [BRANDMASTER ], das ist in jedem Fall eine schlechte Übung. Entfernen Sie nachstehendes Leerzeichen aus dem Spaltennamen in der Tabellendefinition. Dies kann zu anderen seltsamen Fehlern führen.

+0

Speicherplatz entfernt, aber immer noch den Fehler. Ich verstehe nicht warum. –

+0

ok, ich werde versuchen, Abfrage-Generator verwenden. Vielen Dank –

Verwandte Themen