Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Access Abfrage liefert doppelte Ergebnisse

Begonnen von Chromylchlorid, März 15, 2023, 19:33:18

⏪ vorheriges - nächstes ⏩

Chromylchlorid

Hallo zusammen,

meine Abfrage liefert mir doppelte Ergebnisse.
Jedoch nur bei einem Bestimmten Wert der Fall.

Es ist eine Datenbank zur Lagerverwaltung von Chemikalien.
In der Haupttabelle sind Daten zur Chemikalie sowie eine eindeutige, interne Nummer.

Bis auf eine Chemikalie liefert mir meine Abfrage alles korrekt wieder.
Nur bei Schwefelsäure bekomme ich jeden Eintrag doppelt, obwohl die interne Nummer nie doppelt vergeben werden kann und die Anzahl, welche berechnet wird, stimmt auch nicht.
In der HT ist aber alles korrekt.

Da ich bei weitem kein Experte in Access bin wollte ich fragen, ob an meiner Abfrage etwas falsch sein kann.
Vielleicht könnt ihr mir hierbei helfen

SELECT T_000_Chemikalien_Allgemein.Chemikalie, T_000_Chemikalien_Allgemein.[interne Nummer], T_000_Chemikalien_Allgemein.Artikelnummer, T_000_Chemikalien_Allgemein.Lotnummer, T_000_Chemikalien_Allgemein.Verafall, Sum(H_A_000_Anzahl.AnzahlvonArtikelnummer) AS SummevonAnzahlvonArtikelnummer, [H_A_Anzahl total].SummevonAnzahlvonArtikelnummer, [H_A_Anzahl Lot].AnzahlvonLotnummer, T_000_Chemikalien_Allgemein.[interne Nummer alt], T_000_Chemikalien_Allgemein.Anbruch, T_000_Chemikalien_Allgemein.Geprüft
FROM ((T_000_Chemikalien_Allgemein INNER JOIN H_A_000_Anzahl ON (T_000_Chemikalien_Allgemein.Chemikalie = H_A_000_Anzahl.Chemikalie) AND (T_000_Chemikalien_Allgemein.Artikelnummer = H_A_000_Anzahl.Artikelnummer)) INNER JOIN [H_A_Anzahl total] ON T_000_Chemikalien_Allgemein.Chemikalie = [H_A_Anzahl total].Chemikalie) INNER JOIN [H_A_Anzahl Lot] ON T_000_Chemikalien_Allgemein.Lotnummer = [H_A_Anzahl Lot].Lotnummer
GROUP BY T_000_Chemikalien_Allgemein.Chemikalie, T_000_Chemikalien_Allgemein.[interne Nummer], T_000_Chemikalien_Allgemein.Artikelnummer, T_000_Chemikalien_Allgemein.Lotnummer, T_000_Chemikalien_Allgemein.Verafall, [H_A_Anzahl total].SummevonAnzahlvonArtikelnummer, [H_A_Anzahl Lot].AnzahlvonLotnummer, T_000_Chemikalien_Allgemein.[interne Nummer alt], T_000_Chemikalien_Allgemein.Anbruch, T_000_Chemikalien_Allgemein.Geprüft, T_000_Chemikalien_Allgemein.Verbraucht
HAVING (((T_000_Chemikalien_Allgemein.Chemikalie) Like [Chemikalie eingeben] & "*") AND ((T_000_Chemikalien_Allgemein.Verbraucht)=False));

Bin für jede Anregung und Hilfe dankbar  :)


ebs17

Du hast eine ganze Kette von INNER JOIN's. Zu deren definitiven Aufgaben gehört es, in der Abfrage Datensatzanteile aus einigen (Primär)Tabellen zu vervielfältigen. Das sollte einen also nicht wundern.

Über Deine Gruppierungsorgie (Gruppieren über praktisch alle Felder, die auch im SELECT-Teil stehen) reagierst Du darauf, allerdings nicht präzise genug.

Wenn die Schwefelsäure zweimal auftritt, wird sich im gesamten gezeigten Datensatz in mindestens einem Feld ein Unterschied befinden, so dass sich per Gruppierung über die gesamten Felder mehr als eine Gruppe ergibt.
Mit freundlichem Glück Auf!

Eberhard