Office: (Office 2007) das angegebene feld kann sich auf mehr als eine tabelle beziehen

Helfe beim Thema das angegebene feld kann sich auf mehr als eine tabelle beziehen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Moin, ich habe ein skuriles Problem dessen ich einfach nicht Herr werde. Ich möchte eine Abfrage als Recordsource eines Formulars definieren und... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Mutilate, 22. Februar 2010.

  1. 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 angegebene Feld 'Rohstoffeinsatz.rohstoff' kann sich auf mehr als eine tabelle beziehen". Wenn ich diese Abfrage in Access öffne funktioniert allerdings alles wunderbar und ich bekomme genau die Datensätze angezeigt, auf die ich es abgesehen habe.

    Hier die Abfrage in SQL:
    "SELECT Rezepturen.produkt, Rohstoffeinsatz.rohstoff AS rohstoffname, FKs.LM_Anteil AS FK, Rezepturen.Visk, Rezepturen.visk_temp, Rezepturen.visk_einheit, Rezepturen.solids, Rezepturen.NCO, Rezepturen.dichte, Rezepturen.brechung
    FROM (Rezepturen LEFT JOIN FKs ON Rezepturen.produkt = FKs.produkt) INNER JOIN Rohstoffeinsatz ON Rezepturen.produkt = Rohstoffeinsatz.produkt
    WHERE (((Rohstoffeinsatz.rohstoff)="Ethylacetat"));"

    Es gibt die Tabelle Rezepturen, die Daten zu den Rezepturen enthält (u.a. das Feld produkt, das den Namen beinhalten) und Rohstoffeinsatz (eine Verknüpfungstabelle zwischen Rohstoffen und Rezepturen).

    Der Name rohstoffname, der als Alias für das Feld benutzt wird ist in der gesamten Datenbank nirgends so erwähnt.

    Ich habe keine Ahnung warum das nicht klappt. Wie gesagt, Access macht das Ganze ohne Probleme, aber wenn ich ein Formular per DoCmd.OpenForm öffne und die Abfrage als Filtername übergebe streikt Access...

    Kennt irgendwer so was schon und was kann man dagegen machen??

    Matthias

    :)
     
    Mutilate, 22. Februar 2010
    #1
  2. Hallo,
    das Feld ist doppelt in der Abfrage. Das Formular weis dann nicht welches Feld gemeint ist.
     
    gpswanderer, 24. Februar 2010
    #2
  3. Das verstehe ich nicht. Die Abfrage ist doch oben als SQL zu sehen. Ich sehe da aber kein doppeltes Feld....
     
    Mutilate, 24. Februar 2010
    #3
  4. das angegebene feld kann sich auf mehr als eine tabelle beziehen

    Sind "Rezepturen", "FKs" und "Rohstoffeinsatz" alles Tabellen oder ist da eventuell eine gespeicherte Abfrage dabei?

    Ich auch nicht, das könnte aber auch an der übersichtlichen Formatierung liegen. *wink.gif*


    ich vermute das Problem eher an dieser Stelle:
    Welche Datenquelle ist im Formular eingestellt? Mit dieser OpenForm-Anweisung änderst du meiner Ansicht nach die Datenquelle des Formulars nicht.
     
    Josef P., 24. Februar 2010
    #4
  5. Rezepturen und Rohstoffeinsatz sind Tabellen. FKs ist eine Abfrage, die auch Daten aus der Tabelle Rohstoffeinsatz bezieht. Da liegt also der Fehler. Wenn ich die Abfrage komplett entferne ist auch das Problem weg.

    Leider brauche ich diese Abfrage aber und ich weiß nicht, wie ich jetzt den Fahler beseitigen soll.

    Damit magst Du Recht haben *Smilie

    Im Formular ist eine andere (sehr ähnliche) Abfrage eingestellt. Das Problem war, das ich in der Tabelle keinen Bezug zu den Rohstoffen hatte und sobald ich diese dort einfügte, wegen der m:n-Beziehung jede Menge Datensätze zu ein und dem selbem Produkt hatte, was sich bei der Suche nach dem Namen als Recht sinnlos herausstellte *Smilie

    Daher war meine Idee einfach eine zweite Abfrage zu nehmen und dort einen zusätzlichen Bezug zu der Verknüpfungstabelle einzubauen. Die war aber leider schon in der zugrundeliegenden Abfrage FKs drin.

    Das habe ich jetzt verstanden. Aber was nun?
     
    Mutilate, 24. Februar 2010
    #5
  6. Kommt eventuell Rohstoffeinsatz.rohstoff in der Datenquelle des Formulars doppelt im Select-Teil vor?

    Alternative zum Filter-Parameter:
    Vielleicht kannst du den gewünschten Filter auch im Where-Teil (Parameter WhereCondition von OpenForm) übergeben.

    z. B.:
    Code:
     
    Josef P., 24. Februar 2010
    #6
  7. Hallo zusammen *Smilie

    Dasselbe Problem habe ich auch bei einer Abfrage und konnte es seit Stunden nicht beheben!!! Es ist gerade dringend und ich wäre sehr dankbar für jegliche Kommentare!

    Kann jemand mir da weiterhelfen:

    Die Abfrage enthält u.a:

    SELECT
    ...
    Abfrage_GESAMT_NP.NettoProduktivitaet AS NettoProduktivitaet,
    ...

    FROM
    (
    Abfrage_GESAMT_NP
    LEFT JOIN Abfrage_GESAMT_AVG_TEAM
    ON (Abfrage_GESAMT_NP.OrgUnit=Abfrage_GESAMT_AVG_TEAM.Team)
    AND (Abfrage_GESAMT_NP.Jahr=Abfrage_GESAMT_AVG_TEAM.Jahr)
    AND (Abfrage_GESAMT_NP.Monat=Abfrage_GESAMT_AVG_TEAM.Monat)
    )
    LEFT JOIN Abfrage_GESAMT_AVG_OP
    ON (LEFT(Abfrage_GESAMT_NP.OrgUnit,19)=Abfrage_GESAMT_AVG_OP.OP)
    AND (Abfrage_GESAMT_NP.Jahr=Abfrage_GESAMT_AVG_OP.Jahr)
    AND
    (Abfrage_GESAMT_NP.Monat=Abfrage_GESAMT_AVG_OP.Monat)

    WHERE
    (Abfrage_GESAMT_NP.OrgUnit Like "blablabla")
    AND (Abfrage_GESAMT_NP.OrgUnit NOT LIKE "blablabla")

    GROUP BY
    ...
    Abfrage_GESAMT_NP.NettoProduktivitaet,
    ...

    Und wenn versucht, dies in Access2007 auszuführen kommt die Meldung:
    "Das angegebene Feld 'Abfrage_GESAMT_NT.NettoProduktivitaet' kann sich auf mehr als... "

    Die Tabellen ...AVG_TEAM und ...AVG_OP enthalten Mittelwerte und werden dafür mit Joins verknüpft. Die beiden haben auf keinem Fall ein Attribut namens "NettoProduktivitaet" drin! Ich bekomme jedoch immer dieselbe Fehlermeldung!!!???!!!
     
  8. das angegebene feld kann sich auf mehr als eine tabelle beziehen

    upps... ein Tippfehler!!!! OMG, es hat mir mehr als 5 Stunden gekostet *frown.gif* Aber ich bin froh, dass es endlich läuft! Einfach mit Unterstrich "Netto_Produktivitaet" statt "NettoProduktivitaet" sollte es sein...
    Danke, die Frage hat sich erübrigt *Smilie
     
  9. Hallo zusammen,

    ich habe ein Problem welches mit der im Threadtitel genannten Fehlermeldung zu tun hat. Daher bin ich mal so frei und melde mich damit in diesem Thread.

    Ohne lange Umschweife, da ich leider nicht die Hoffnung habe, dass mir hier bei der endgültigen Lösung meines Problems geholfen werden kann: ich habe den Fehler schon gefunden.

    In unserer Datenbank werden aus den abgelegten Versuchsdaten über die Berichtsfunktion Ergebnisprotokolle erstellt. Die Inhalte der Berichte werden über verschiedene verschachtelte Abfragen erstellt. Zwei Teilbereiche in den Berichten werden über Unterberichte dargestellt. Und nun kommt der Knackpunkt: die Inhalte dieser Unterberichte werden nicht mehr dargestellt, die Stellen sind einfach leer. Grund dafür dürfte sein, weil irgendwann in den vielen Abfragen zwei gleich benannte Felder/Inhalte/Variablen, was auch immer, auftauchen. Beim separaten Öffnen des Unterberichtes erscheint die im Threadtitel genannte Fehlermeldung.

    Dieses Problem taucht nun aber erst mit der Version Access 2010 auf, zuvor hatten wir lange Jahre Access 2003 bei der alles einwandfrei funktioniert hat. Warum ist das so? Da sich das Problem über viele Seiten in den Tiefen des VBA-Codes erstrecken dürfte, wäre es mir lieber das "Problem" anders zu beheben, da es ja eigentlich schon mal funktioniert hat. Ob unter 2007 der Fehler auch schon aufgetaucht wäre kann ich leider nicht sagen, die Version haben wir ausgelassen.

    Über Tips dahingehen wäre ich sehr dankbar. Achja, ich bin leider nur der Verwalter der Datenbank mit Grundkenntnissen in Access. Die Ersteller der Datenbank sind nicht mehr greifbar.

    Vielen Dank
    Mit vielen Grüßen
    Chris
     
    chrisp2, 18. Juli 2011
    #9
  10. Moin,
    wenn es früher funktioniert hat und jetzt nicht mehr ohne dass etwas verändert wurde (außer der Office Version) - da hätte ich einen Verdacht:

    Prüfe mal nach, ob für Felder in Tabelle/Abfrage/Bericht reservierte Namen vergeben wurden wie Tag, Name, Monat, Min oder Max, Summe ... und generell Namen, die aus nur 2 oder 3 Buchstaben bestehen ...
    Ich erinnere mich dunkel an ein ähnliches Problem mit Access 2010, dass durch eine neue Funktion verursacht wurde, die jetzt mit einem Feldnamen kollidierte.

    Ansonsten hast du natürlich recht, mit so wenig konkreter Information wird Hilfe wohl schwierig sein *wink.gif* .
    maike
     
    maikek, 18. Juli 2011
    #10
  11. Ich wollte euch hier halt nicht gleich hoffnungslos überfordern *wink.gif*
    Ne im Ernst, ich wollte nicht zu weit ausholen. Die Datenbank hat knapp 17 Jahre Historie aufm Buckel, wurde im Rahmen von mehreren Diplomarbeiten erstellt und überarbeitet, hat drei Dutzend Tabellen, enstprechend nochmal so viele Abfragen, zig Formulare und Berichte und tonnenweise VBA-Code.

    Und hat eben jahrelang so funktioniert, was sie im Prinzip zu 98% jetzt auch noch tut. Nur eben die "Kleinigkeit" mit den verschwundenen Unterberichtinhalten nervt...

    Aber vielen Dank für Deinen Tip. Genau auf sowas in die Richtung hatte ich gehofft. So bekannte Unterschiede bzw. Probleme bei Access-Versionen.

    Tabellenfeldbezeichnungen und dergleichen mit weniger als 3 Zeichen hab ich grad genug in der Datenbank, denke aber dann würds an mehreren Stellen haken, wenn dass das Problem sein sollte.
    Ein Datenfeld in der Haupttabelle heisst "Datum", könnte dass das Problem sein? Bin mir aber sicher, dass das einen riesen Rattenschwanz nachsichzieht, wenn ich das Feld umbenenne. Gibts eigentlich eine Funktion im Access, bei der Änderungen von Feldnamen (oder Objektnamen) gleich entsprechend im VBA-Code übernommen werden?

    Abgesehen davon komme ich mir vor dem Access 2010 wie der totale Neuling vor, von der Bedienung her. Weiss teilweise gar nicht mehr wo welche Befehle zu finden sind.

    Gruß
    Chris
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    chrisp2, 19. Juli 2011
    #11
  12. Naja, es ist halt nur eine Vermutung, versprich dir nicht zuviel davon.
    Es ist nicht die Anzahl der Buchstaben, sondern die evtl. Gleichheit mit Funktionen die hier das Problem ergeben könnten. Ich kann den Beitrag nicht mehr finden, aber ich entsinne mich noch dunkel dass es ein Feldnamen/Funktionsnamen-Konflikt auf zweistelliger Basis war *biggrin.gif* .

    Ich kenne Access 2010 (noch *wink.gif* ) nicht, aber ich vermute mal, es gibt dort auch so etwas wie die Objektnamen-Autokorrektur. Dabei war allerdings - bisher jedenfalls - VBA-Code nicht einbezogen.

    Wenn du bei mehreren Unterberichten gleichzeitig das Problem hast, wird es ja vermutlich eine gemeinsame Ursache geben. Die müsste sich doch finden lassen.

    maike
     
    maikek, 19. Juli 2011
    #12
  13. das angegebene feld kann sich auf mehr als eine tabelle beziehen

    Hi,

    es ist grundsätzlich eine gute Idee, Feld- und Tabellennamen in Abfragen, VBA-Code und Formularen eckig einzuklammern. Damit sind evtl. Kollisionen mit späteren Elemente, die zufällig ebenso heißen, weitgehend ausgeschlossen.

    Auch ein Qualifizieren der Feldnamen (= Tabellenname mit Punkt davorstellen) könnte helfen.

    Das könnte sich vielleicht auch im Nachhinein machen lassen.

    Vielleicht ist das Problem auch nicht in der SQL, sondern in den (unsäglichen) Eigenschaften FilterBy und OrderBy der Abfrage durch ein Speichern hineingeraten.
     
    Atrus2711, 19. Juli 2011
    #13
  14. Sorry, dass ich mich erst jetzt wieder melde. Leider darf ich mich um die Datenbank auch nur "nebenbei" kümmern und da hatte dann eben mal die reguläre Arbeit Vorrag.

    Vielen Dank für diesen Hinweis, der hat mich auf die richtige Spur gebracht.
    Die Sortierung ist und war bisher in der Abfrage festgelegt und ist nun mit einer zusätzlichen Sortierangabe im Bericht bzw Unterbericht kollidiert, die Access2010 ungefragt von sich aus hineingeschrieben bzw. aus der Abfrage übernommen hat.
    Zur Fehlerbehebung hat es nun einfach gereicht unter 2010 entweder "Beim Laden Sortieren" auf "Nein" zu setzen oder die neue "Sortiert nach"-Eintragung zu löschen.
    Im Anhang hab ich die beiden Eigenschaftenfenster aus der gleichen Datenbank einmal unter 2003 und einmal unter 2010 angehängt.

    Zum Schluß noch eine kleine Verständnisfrage: wie soll denn nun unter 2010 die bevorzugte Sortierung aussehen? Aus der Abfrage heraus oder direkt im Bericht? Sollte ich da mal wieder drüberstolpern in Zukunft...

    Auf jeden Fall möchte ich euch beiden, Atrus2711 und maikek, recht herzlich für eure Hilfe danken. Zum Glück war das Abstellen des Fehlers am Ende doch nicht so aufwändig wie ich befürchtet hatte. Aber ohne den Tip von Atrus wäre ich da nie draufgekommen.

    Achja und recht herzlichen Dank an Microsoft für so einen supertollen und scheinbar unnötigen Stolperstein *mad.gif*

    Gruß
    Chris
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    chrisp2, 20. Juli 2011
    #14
  15. Hi,

    Berichte haben eh ihre eigene Sortierung... es genügt, wenn einer der beiden sortiert.
     
    Atrus2711, 21. Juli 2011
    #15
Thema:

das angegebene feld kann sich auf mehr als eine tabelle beziehen

Die Seite wird geladen...
  1. das angegebene feld kann sich auf mehr als eine tabelle beziehen - Similar Threads - angegebene 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. Angegebenes Feld kann sich auf mehr als eine Tabelle beziehen

    in Microsoft Access Hilfe
    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...
  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