Hey dear Access-Community,
I am trying to adapt an old access query at work (I have not used access in more than 10 years), but the SQL syntax is killing me.
What I am trying to do is to just show the results of the query with the latest 3 numbers of a counter value (currently using "TOP 3" just to try if things work).
This is the original query:
This is the adapted query (in bold the word which gets marked after the error has been thrown):
I have tried using more brackets, but to no avail.
I would appreciate any help I can get.
BR
dahin
I am trying to adapt an old access query at work (I have not used access in more than 10 years), but the SQL syntax is killing me.
What I am trying to do is to just show the results of the query with the latest 3 numbers of a counter value (currently using "TOP 3" just to try if things work).
This is the original query:
SQL:
SELECT [Allgemeine Daten].CBNummer, [Allgemeine Daten].Bezeichnung, [Allgemeine Daten].Standort, [Allgemeine Daten].Typennummer, [Allgemeine Daten].Hersteller, [Allgemeine Daten].Baujahr, [Allgemeine Daten].Prüfbuchnummer, [Allgemeine Daten].Ausgeschieden, [Prüfungen pro Anlage].PNr, [Prüfungen pro Anlage].PrInt, [Prüfungen pro Anlage].GesGrundl, [Prüfungen pro Anlage].NächstesPrüfdatum, Internverantwortlicher.[Interner Verantwortlicher], Betriebsstätten.Betriebsstätten, [Sparten Interner Verantwortlicher].Sparten, Prüfungsdatenbank.Firma
FROM ((Betriebsstätten INNER JOIN [Allgemeine Daten] ON Betriebsstätten.Betriebsstätten = [Allgemeine Daten].Betriebsstätte) INNER JOIN ([Sparten Interner Verantwortlicher] INNER JOIN (Internverantwortlicher INNER JOIN [Prüfungen pro Anlage] ON Internverantwortlicher.[Interner Verantwortlicher] = [Prüfungen pro Anlage].[Interner Verantwortlicher]) ON [Sparten Interner Verantwortlicher].Sparten = Internverantwortlicher.Sparte) ON [Allgemeine Daten].CBNummer = [Prüfungen pro Anlage].CBNummer) INNER JOIN Prüfungsdatenbank ON [Prüfungen pro Anlage].PNr = Prüfungsdatenbank.PNr
WHERE ((([Allgemeine Daten].Ausgeschieden)=No) AND ((Betriebsstätten.Betriebsstätten) Between [Formulare]![frmberichtsmenü]![Kombinationsfeld91] And [Formulare]![frmberichtsmenü]![Kombinationsfeld91]) AND (([Sparten Interner Verantwortlicher].Sparten) Between [Formulare]![frmberichtsmenü]![Kombinationsfeld92] And [Formulare]![frmberichtsmenü]![Kombinationsfeld92]))
ORDER BY [Allgemeine Daten].CBNummer;
This is the adapted query (in bold the word which gets marked after the error has been thrown):
SQL:
SELECT [Allgemeine Daten].CBNummer, [Allgemeine Daten].Bezeichnung, [Allgemeine Daten].Standort, [Allgemeine Daten].Typennummer, [Allgemeine Daten].Hersteller, [Allgemeine Daten].Baujahr, [Allgemeine Daten].Prüfbuchnummer, [Allgemeine Daten].Ausgeschieden, seta.PNr, seta.PrInt, seta.GesGrundl, seta.NächstesPrüfdatum, Internverantwortlicher.[Interner Verantwortlicher], Betriebsstätten.Betriebsstätten, [Sparten Interner Verantwortlicher].Sparten, Prüfungsdatenbank.Firma
FROM ((Betriebsstätten INNER JOIN [Allgemeine Daten] ON Betriebsstätten.Betriebsstätten = [Allgemeine Daten].Betriebsstätte) INNER JOIN ([Sparten Interner Verantwortlicher] INNER JOIN
(
Internverantwortlicher INNER JOIN
(
(select * from [Prüfungen pro Anlage]) as a1
INNER JOIN
(select top 3 (PNr) from [Prüfungen pro Anlage]) as a2
ON a1.PNr = a2.PNr
) [B]as[/B] seta
ON Internverantwortlicher.[Interner Verantwortlicher] = seta.[Interner Verantwortlicher]
)
ON [Sparten Interner Verantwortlicher].Sparten = Internverantwortlicher.Sparte) ON [Allgemeine Daten].CBNummer = [Prüfungen pro Anlage].CBNummer) INNER JOIN Prüfungsdatenbank ON [Prüfungen pro Anlage].PNr = Prüfungsdatenbank.PNr
WHERE ((([Allgemeine Daten].Ausgeschieden)=No) AND ((Betriebsstätten.Betriebsstätten) Between [Formulare]![frmberichtsmenü]![Kombinationsfeld91] And [Formulare]![frmberichtsmenü]![Kombinationsfeld91]) AND (([Sparten Interner Verantwortlicher].Sparten) Between [Formulare]![frmberichtsmenü]![Kombinationsfeld92] And [Formulare]![frmberichtsmenü]![Kombinationsfeld92]))
ORDER BY [Allgemeine Daten].CBNummer;
I have tried using more brackets, but to no avail.
I would appreciate any help I can get.
BR
dahin