Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

The specified field xyz could refer to more than one table - MS Access 2007

Frage Entwicklung Datenbanken

Mitglied: Closed

Closed (Level 1) - Jetzt verbinden

14.06.2013 um 09:54 Uhr, 1127 Aufrufe, 2 Kommentare

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:

01.
SELECT tblAgenda.Position, tblAgenda.Topic, tblAgenda.Responsible, tblNotes.Note, tblAgenda.Meeting_ID, tblNoteType.Type, tblNotes.NoteResponsible, tblNotes.DueDate, tblNotes.Status, tblNotes.ID, tblAgenda.ID 
02.
FROM tblNoteType INNER JOIN (tblAgenda INNER JOIN tblNotes ON tblAgenda.[ID] = tblNotes.[Agenda_ID]) ON tblNoteType.[ID] = tblNotes.Type_ID 
03.
ORDER BY tblNotes.ID;
Vielen Dank vorab.
Mitglied: Closed
17.06.2013 um 12:49 Uhr
Also die Lösung des Problems liegt in einer Verwendung eines Ausdrucks in der Select Anweisung von einer der IDs und diesen Ausdruck dann im Folgenden weiter zu verwenden.

Ist irgendwie merkwürdig, aber damit funktioniert es.

Beste grüße
Bitte warten ..
Mitglied: Biber
17.06.2013 um 14:22 Uhr
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:
01.
SELECT tblAgenda.Position, tblAgenda.Topic, tblAgenda.Responsible 
02.
            , tblNotes.Note, tblAgenda.Meeting_ID, tblNoteType.Type 
03.
            , tblNotes.NoteResponsible, tblNotes.DueDate, tblNotes.Status 
04.
            , tblNotes.ID,  tblAgenda.ID 
05.
FROM tblNoteType , tblAgenda, tblNotes 
06.
WHERE       tblAgenda.[ID] = tblNotes.[Agenda_ID] 
07.
   AND      tblNoteType.[ID] = tblNotes.Type_ID 
08.
ORDER BY tblNotes.ID; 
09.
 
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
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Datenbanken
gelöst MS Access 2010 Berechtigung für Button(Klick) (12)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Microsoft Office
gelöst Löschabfrage MS Access als Task ausführen (4)

Frage von MGAS400 zum Thema Microsoft Office ...

Datenbanken
MS Access MDB Datei analysieren (5)

Frage von greatmgm zum Thema Datenbanken ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (17)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...