The specified field xyz could refer to more than one table - MS Access 2007
Hi,
ich erhalte bei einem meiner Formulare in MS Access 2007 den Fehler "The specified field xyz could refer to more than one table listed in the FROM clause of your SQL statement."
Natürlich habe ich nach dem Fehler schon gegoogelt, aber alle Lösungsvorschläge konnten nicht helfen. Hier meine Versuche:
- Datenbank komprimiert und repariert
- Bei dem SQL Statement darauf geachtet, dass die Tabellennamen mit angegeben werden (da die Felder ja doppelt vorkommen)
- Bei anderen Elementen des Formulars nachgeschaut, ob ein Feld mit identischem Namen abgefragt wird ohne den Tabellennamen anzugeben
- Die Query abgespeichert und diese verwendet
Leider hat alles nichts geholfen.
Das Problem ist auch erst aufgetaucht, als ich ein ORDER BY Statement hinzugefügt habe (dabei handelt es sich um das doppelt vorkommende Feld). Das merkwürdige ist, dass das SQL-Statement ohne Probleme funktioniert. Hier das Statement:
Vielen Dank vorab.
ich erhalte bei einem meiner Formulare in MS Access 2007 den Fehler "The specified field xyz could refer to more than one table listed in the FROM clause of your SQL statement."
Natürlich habe ich nach dem Fehler schon gegoogelt, aber alle Lösungsvorschläge konnten nicht helfen. Hier meine Versuche:
- Datenbank komprimiert und repariert
- Bei dem SQL Statement darauf geachtet, dass die Tabellennamen mit angegeben werden (da die Felder ja doppelt vorkommen)
- Bei anderen Elementen des Formulars nachgeschaut, ob ein Feld mit identischem Namen abgefragt wird ohne den Tabellennamen anzugeben
- Die Query abgespeichert und diese verwendet
Leider hat alles nichts geholfen.
Das Problem ist auch erst aufgetaucht, als ich ein ORDER BY Statement hinzugefügt habe (dabei handelt es sich um das doppelt vorkommende Feld). Das merkwürdige ist, dass das SQL-Statement ohne Probleme funktioniert. Hier das Statement:
SELECT tblAgenda.Position, tblAgenda.Topic, tblAgenda.Responsible, tblNotes.Note, tblAgenda.Meeting_ID, tblNoteType.Type, tblNotes.NoteResponsible, tblNotes.DueDate, tblNotes.Status, tblNotes.ID, tblAgenda.ID
FROM tblNoteType INNER JOIN (tblAgenda INNER JOIN tblNotes ON tblAgenda.[ID] = tblNotes.[Agenda_ID]) ON tblNoteType.[ID] = tblNotes.Type_ID
ORDER BY tblNotes.ID;
Vielen Dank vorab.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 208011
Url: https://administrator.de/contentid/208011
Ausgedruckt am: 22.11.2024 um 11:11 Uhr
2 Kommentare
Neuester Kommentar
Moin Closed,
die Beschreibug der Ursache habe ich nicht verstanden... ist (von dir) gemeint, dass dem SQL-Parser ein Alias fehlt hinter dem "inner join tblNotes auf tblAgenda"?
Ich finde das Statement in dieser Form auch nicht sonderlich lesbar7wartbar - mir fehlt da auch ein Aliasname/correlation name.
Ich hätte es so (um-)geschrieben:
Nicht nachvollziehbar ohne die Daten zu sehen ist mir, wieso du mit einem Feld für das ORDER BY auskommst.
Ist die tblNotes.ID denn einmalig über alle tblAgenda.IDs hinweg?
Wie dem auch sei - wäre nett, wenn du noch mal eine Zeile zu der Lösung/dem Problem schreibst.
Denn ich habe es nicht so ganz verstanden, andere möglicherweise auch nicht.
Grüße
Biber
die Beschreibug der Ursache habe ich nicht verstanden... ist (von dir) gemeint, dass dem SQL-Parser ein Alias fehlt hinter dem "inner join tblNotes auf tblAgenda"?
Ich finde das Statement in dieser Form auch nicht sonderlich lesbar7wartbar - mir fehlt da auch ein Aliasname/correlation name.
Ich hätte es so (um-)geschrieben:
SELECT tblAgenda.Position, tblAgenda.Topic, tblAgenda.Responsible
, tblNotes.Note, tblAgenda.Meeting_ID, tblNoteType.Type
, tblNotes.NoteResponsible, tblNotes.DueDate, tblNotes.Status
, tblNotes.ID, tblAgenda.ID
FROM tblNoteType , tblAgenda, tblNotes
WHERE tblAgenda.[ID] = tblNotes.[Agenda_ID]
AND tblNoteType.[ID] = tblNotes.Type_ID
ORDER BY tblNotes.ID;
Nicht nachvollziehbar ohne die Daten zu sehen ist mir, wieso du mit einem Feld für das ORDER BY auskommst.
Ist die tblNotes.ID denn einmalig über alle tblAgenda.IDs hinweg?
Wie dem auch sei - wäre nett, wenn du noch mal eine Zeile zu der Lösung/dem Problem schreibst.
Denn ich habe es nicht so ganz verstanden, andere möglicherweise auch nicht.
Grüße
Biber