Office: (Office 2007) Angegebenes Feld kann sich auf mehr als eine Tabelle beziehen

Helfe beim Thema Angegebenes Feld kann sich auf mehr als eine Tabelle beziehen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo, leider bin ich ein Grünling in Sachen Access, muss mich hier aber durch sehr komplexe Abfragen durcharbeiten. Problem 1 ist, dass die Abfrage... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von SchnippiGT, 22. März 2011.

  1. Angegebenes Feld kann sich auf mehr als eine Tabelle beziehen


    Hallo,

    leider bin ich ein Grünling in Sachen Access, muss mich hier aber durch sehr komplexe Abfragen durcharbeiten.
    Problem 1 ist, dass die Abfrage schon so groß ist, dass Access mir beim durchführen sagt, dass nicht genügend Systemressourcen zur Verfügung stehen. Jetzt habe ich mal eine Kennzahl rausgenommen, jedoch kommt dann die Meldung:

    "Das angegebene Feld "[Abwicklungsart]" kann sich auf mehr als eine der Tabellen beziehen die im FROM-Abschnitt der SQL-Anweisung angegeben werden!"

    Hier einmal der FROM-Abschnitt der Anweisung:

    FROM ((((((((((((((tbl_Stammdaten LEFT JOIN abf_kum_Werte_Artikel ON (tbl_Stammdaten.artikelnummer = abf_kum_Werte_Artikel.artikelnummer) AND (tbl_Stammdaten.Periode = abf_kum_Werte_Artikel.Periode) AND (tbl_Stammdaten.Zeitraum = abf_kum_Werte_Artikel.Zeitraum)) LEFT JOIN tbl_Mengengerüst ON (tbl_Stammdaten.artikelnummer = tbl_Mengengerüst.artikelnummer) AND (tbl_Stammdaten.Periode = tbl_Mengengerüst.Periode) AND (tbl_Stammdaten.Zeitraum = tbl_Mengengerüst.Zeitraum)) LEFT JOIN tbl_Seitenkosten ON (tbl_Mengengerüst.KDF = tbl_Seitenkosten.KDF) AND (tbl_Mengengerüst.artikelnummer = tbl_Seitenkosten.Artikelprom)) LEFT JOIN tbl_Artikel_WNE ON tbl_Stammdaten.artikelnummer = tbl_Artikel_WNE.artikelnummer) LEFT JOIN abf_kum_Werte ON (tbl_Mengengerüst.Periode = abf_kum_Werte.Periode) AND (tbl_Mengengerüst.Zeitraum = abf_kum_Werte.Zeitraum) AND (tbl_Mengengerüst.KDF = abf_kum_Werte.KDF)) LEFT JOIN tbl_Kostensätze_KDF ON tbl_Mengengerüst.KDF = tbl_Kostensätze_KDF.KDF) LEFT JOIN Import_Altsaisons ON tbl_Stammdaten.artikelnummer = Import_Altsaisons.[Art-nr]) LEFT JOIN tbl_Zeitenkosten ON (tbl_Mengengerüst.artikelnummer = tbl_Zeitenkosten.[Art Nr]) AND (tbl_Mengengerüst.KDF = tbl_Zeitenkosten.KDF)) LEFT JOIN tbl_Kostensätze_FT ON (tbl_Stammdaten.Zeitraum = tbl_Kostensätze_FT.Zeitraum) AND (tbl_Stammdaten.Periode = tbl_Kostensätze_FT.Periode) AND (tbl_Stammdaten.ft = tbl_Kostensätze_FT.FT)) LEFT JOIN abf_Nabs_pro_FT ON (tbl_Stammdaten.Zeitraum = abf_Nabs_pro_FT.Zeitraum) AND (tbl_Stammdaten.ft = abf_Nabs_pro_FT.ft) AND (tbl_Stammdaten.Periode = abf_Nabs_pro_FT.Periode)) LEFT JOIN abf_Gruppenkosten ON (tbl_Mengengerüst.Zeitraum = abf_Gruppenkosten.Zeitraum) AND (tbl_Mengengerüst.Periode = abf_Gruppenkosten.Periode)) LEFT JOIN Import_AddOn ON (tbl_Mengengerüst.artikelnummer = Import_AddOn.Artikel) AND (tbl_Mengengerüst.Periode = Import_AddOn.Periode) AND (tbl_Mengengerüst.Zeitraum = Import_AddOn.Zeitraum) AND (tbl_Mengengerüst.KDF = Import_AddOn.KDF)) LEFT JOIN abf_EK_Kosten_pro_WE ON tbl_Mengengerüst.artikelnummer = abf_EK_Kosten_pro_WE.artikelnummer) LEFT JOIN export_EK_Kosten_pro_WE_Altsaisons ON tbl_Mengengerüst.artikelnummer = export_EK_Kosten_pro_WE_Altsaisons.Art_Nr) LEFT JOIN abf_Ergebnis_Abwicklung ON (tbl_Mengengerüst.KDF = abf_Ergebnis_Abwicklung.KDF) AND (tbl_Mengengerüst.artikelnummer = abf_Ergebnis_Abwicklung.artikelnummer) AND (tbl_Mengengerüst.Periode = abf_Ergebnis_Abwicklung.Periode) AND (tbl_Mengengerüst.Zeitraum = abf_Ergebnis_Abwicklung.Zeitraum)
    WHERE (((tbl_Stammdaten.artikelnummer)0) AND ((tbl_Mengengerüst.KDF)>0));


    Ist da draußen jemand der mir helfen kann? :-)

    :)
     
    SchnippiGT, 22. März 2011
    #1
  2. Hi,

    diese Meldung erscheint, wenn du einen Feldnamen sehen willst, der in mehreren der benutzten Tabellen vorkommt. Access weiß dann nicht, welchen es nehmen soll. Sag es ihm, indem du das fragliche Feld um den Tabellennamen ergänzt: statt Abwicklungsart halt Tabellenname.Abwicklungsart
     
    Atrus2711, 23. März 2011
    #2
  3. Aber ich sehe in dem SQL-Abschnitt das Wort "Abwicklungsart" ja gar nicht...
     
    SchnippiGT, 23. März 2011
    #3
  4. Angegebenes Feld kann sich auf mehr als eine Tabelle beziehen

    Im FROM nicht. FROM zeigt nur die Datenquelle, also die Quelltabellen und die Verbindungsfelder. Das fragliche Feld ist im SELECT-Teil (also Ausgabeteil) zu finden, entweder explizit, als Formelbestandteil oder als Ergebnis von * (SELECT *).
     
    Atrus2711, 23. März 2011
    #4
  5. Okay, scheint zu klappen, leider kommt jetzt wieder die Nachricht der Systemressourcen.
    Gibt es ne Möglichkeit die Ressourcen zu vergrößern bzw. die Datei irgendwie zu verkleinern ohne Kennzahlen zu entfernen?
     
    SchnippiGT, 23. März 2011
    #5
  6. Was für eine Meldung über Systemressourcen?
    Access hat eigentlich nichts mit den Systemressourcen zu tun?

    Kann es sein, dass du einen begrenzten Profilspeicher hast und gerade auf diesem arbeitest? Dann sieh mal ganz schleunig zu, dass du die DB woanders hinpackst. Da hat sie eh nichts verloren.
     
    Toast78, 23. März 2011
    #6
  7. Wenn ich die Abfrage ausführen möchte, dann kommt die Meldung von Microsoft Access "Nicht genügend Systemressourcen".

    Ich habe keine Ahnung wie groß mein Profilspeicher ist. Wie gesagt, sitze hier an meinem Arbeitsplatz und versuche zu überleben *Smilie
     
    SchnippiGT, 23. März 2011
    #7
  8. Angegebenes Feld kann sich auf mehr als eine Tabelle beziehen

    Na, ein Glück, dass hier der Darwinismus nicht mehr greift *tongue.gif* scnr
    Zu der Meldung kann ich aber nichts sagen. Hatte ich noch nie.
     
    Toast78, 23. März 2011
    #8
  9. Ja, Systemressorucen haben sich bei mir auch noch nie gemeldet...

    Wie groß sind denn so ca. die Tabellen, die da benutzt werden?
    Sind da geeignete Indizes drin?

    Notfalls leg die Abfrage mal beiseite und bau schrittweise von vorne auf, wobei du bei jeder neuen Tabelle guckst, wo es hängt bzw. ob es noch geht.

    Oder du baust das ganze mit Hilfe von Zwischentabellen auf. Ab 5 km SQL-String-Länge wird langsam ungemütlich...
     
    Atrus2711, 23. März 2011
    #9
  10. Also die Tabellen sind schon sehr groß und allein in der Abfrage beziehe ich mich auf 16 Tabellen/Abfragen, die sich wieder auf andere Tabellen/Abfragen/Datenbanken beziehen. Ist ein Abrechnungssystem im Aufbau und in den finalen Schritten. Und das ist eben die finale Ergebnisabfrage. So eine Sch...*Smilie Bis letzte Woche hat es auch noch funktioniert, jetzt schätze ich nur, dass es zu groß geworden ist und hatte geofft, dass man irgendwo Ressourcen einsparen kann.
     
    SchnippiGT, 23. März 2011
    #10
  11. Hab doch mal ein Auge auf die msaccess.exe im Taskmanager. Wenn die explodiert, hängt es da.

    Bau es mit Zwischentabellen auf. Alles hat ein Ende, auch die Leistung von Access.... Nicht immer geht alles in einer einzigen SQL.
     
    Atrus2711, 23. März 2011
    #11
  12. Code:
    Kann eine Artikelnummer auch negativ sein? "" verhindert Indexnutzung. Indizes hast Du doch und benötigst sie auch?

    Du zeigst hier nur den FROM-Abschnitt mit sehr vielen Tabellen/Abfragen.
    Dabei kann man den Eindruck gewinnen, dass alle verfügbaren Tabellen miteinander verknüpft werden, um dann etwas zu ermitteln (=> finale Ergebnisabfrage). Folglich wird ein Riesengebilde bewegt. Mit vielen Verknüpfungen könntest Du große Datenmengen vervielfachen, die dann nicht mehr beherrscht werden könnten.

    Könnte man nicht das Gewünschte ermitteln mit den genau dafür notwendigen Tabellen und dann nur weitere Tabellen für benötigte Klarnamen/Informationen dazu zu verknüpfen? Ziel also: Schnellstmöglich Datenmengen gering halten.
     
  13. Angegebenes Feld kann sich auf mehr als eine Tabelle beziehen

    Hallo
    Diese Abfrage funktioniert. Der Bericht, dessen Datenquelle sie ist, bringt 3079.
    Alle Q_* sind Abfragen, die für sich ebenfalls funktionieren. Alle Feldnamen sind mit ihren Abfragen verheiratet - und trotzdem meckert Access das Feld Q_SHI_REQ.AMT_SCHED_0 als nicht eindeutig an ....


    SELECT [Q_GET_ARTDESC.ART_Z] AS ZOLL, Q_GET_ARTDESC.*,
    Q_SHI_REQ.ART_Q0, Q_SHI_REQ.AMT_SCHED_0, Q_SHI_REQ.AMT_WHINP_0, Q_DAY_REQ.AMT_SCHED_0, Q_DAY_REQ.AMT_WHINP_0, Q_WOY_REQ.AMT_SCHED_0, Q_WOY_REQ.AMT_WHINP_0, Q_MONTH_REQ.AMT_SCHED_0, Q_MONTH_REQ.AMT_WHINP_0,
    Q_SHI_REQ.ART_Q1, Q_SHI_REQ.AMT_SCHED_1, Q_SHI_REQ.AMT_WHINP_1, Q_DAY_REQ.AMT_SCHED_1, Q_DAY_REQ.AMT_WHINP_1, Q_WOY_REQ.AMT_SCHED_1, Q_WOY_REQ.AMT_WHINP_1, Q_MONTH_REQ.AMT_SCHED_1, Q_MONTH_REQ.AMT_WHINP_1,
    Q_SHI_REQ.ART_Q2, Q_SHI_REQ.AMT_SCHED_2, Q_SHI_REQ.AMT_WHINP_2, Q_DAY_REQ.AMT_SCHED_2, Q_DAY_REQ.AMT_WHINP_2, Q_WOY_REQ.AMT_SCHED_2, Q_WOY_REQ.AMT_WHINP_2, Q_MONTH_REQ.AMT_SCHED_2, Q_MONTH_REQ.AMT_WHINP_2,
    Q_SHI_REQ.ART_Q3, Q_SHI_REQ.AMT_SCHED_3, Q_SHI_REQ.AMT_WHINP_3, Q_DAY_REQ.AMT_SCHED_3, Q_DAY_REQ.AMT_WHINP_3, Q_WOY_REQ.AMT_SCHED_3, Q_WOY_REQ.AMT_WHINP_3, Q_MONTH_REQ.AMT_SCHED_3, Q_MONTH_REQ.AMT_WHINP_3
    FROM (((Q_SHI_REQ INNER JOIN Q_GET_ARTDESC ON Q_SHI_REQ.ARTNR = Q_GET_ARTDESC.ART_7)
    INNER JOIN Q_DAY_REQ ON Q_SHI_REQ.ARTNR = Q_DAY_REQ.ARTNR)
    INNER JOIN Q_WOY_REQ ON Q_SHI_REQ.ARTNR = Q_WOY_REQ.ARTNR)
    INNER JOIN Q_MONTH_REQ ON Q_SHI_REQ.ARTNR = Q_MONTH_REQ.ARTNR;
     
    rusecon, 4. Oktober 2012
    #13
  14. Ist das Feld möglicherweise durch das * zweimal in das Ergebnis gelangt?
     
    Atrus2711, 4. Oktober 2012
    #14
  15. Hallo!
    Wie werden denn Deine Daten gespeichert? Verwendest Du Access als BackEnd? Oder speicherst Du die Daten auf einem SQL-Server?
    Wenn letzteres der Fall ist, könntest Du die Abfrage als Pass-Through-Abfrage definieren. Dann hat der Datenbank-Server die Arbeit - und der hat hoffentlich genug Ressourcen. *wink.gif*

    CU
     
    Thomas Möller, 4. Oktober 2012
    #15
Thema:

Angegebenes Feld kann sich auf mehr als eine Tabelle beziehen

Die Seite wird geladen...
  1. Angegebenes Feld kann sich auf mehr als eine Tabelle beziehen - Similar Threads - Angegebenes Feld Tabelle

  2. Problem: die angegebene XML-Quelle verweist nicht auf ein Schema

    in Microsoft Excel Tutorials
    Problem: die angegebene XML-Quelle verweist nicht auf ein Schema: Problem: die angegebene XML-Quelle verweist nicht auf ein Schema Excel für Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007...
  3. "Die von Ihnen angegebene Datenbank kann nicht gefunden werden"

    in Microsoft Access Hilfe
    "Die von Ihnen angegebene Datenbank kann nicht gefunden werden": Nach Doppelklick auf MSACCESS kommt obige Fehlermeldung mit dem abgespeckten Access-Fenster. Klickt man auf ok, verschwindet beides wieder. Eine Datenbank existiert noch nicht. MSACCESS wurde...
  4. Sie können nicht zu dem angegebenen Datensatz springen

    in Microsoft Access Hilfe
    Sie können nicht zu dem angegebenen Datensatz springen: Ach, ab und zu bringt mich dieses Access wirklich zum Tanzen. Denn plötzlich aus unerklärlichen Gründen fängt die Datenbank dann einfach mal mit Mucken an. Komischerweise nicht nur in einem...
  5. das angegebene feld kann sich auf mehr als eine tabelle beziehen

    in Microsoft Access Hilfe
    das angegebene feld kann sich auf mehr als eine tabelle beziehen: Moin, ich habe ein skuriles Problem dessen ich einfach nicht Herr werde. Ich möchte eine Abfrage als Recordsource eines Formulars definieren und bekomme ständig die Fehlermeldung: "Das...
  6. Die Fehlermeldung "Löschen aus den angegebenen Tabellen nicht möglich" wird angezeigt

    in Microsoft Access Tutorials
    Die Fehlermeldung "Löschen aus den angegebenen Tabellen nicht möglich" wird angezeigt: Die Fehlermeldung "Löschen aus den angegebenen Tabellen nicht möglich" wird angezeigt Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010...
  7. Teams - alle Dateien weg? "Die angegebene Liste ist ungültig"

    in Microsoft Teams Hilfe
    Teams - alle Dateien weg? "Die angegebene Liste ist ungültig": Hallo zusammen, Ich nutze seit mehreren Wochen Teams (free) mit meinen Kollegen und seit heute und ohne eine Änderung unsererseits haben wir auf einmal das Problem, dass wir nicht mehr auf die...
  8. Chart enthält in Legende zwei Einträge mehr als angegeben

    in Microsoft Access Hilfe
    Chart enthält in Legende zwei Einträge mehr als angegeben: Mit folgenden Code (abgespecktes Beispiel) fülle ich ein Chart-Objekt Dim ch As ChartSpace Dim werte1 As Variant Dim werte2 As Variant Dim xachse As Variant Dim yachse As Variant...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden