Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Shayol am Dezember 03, 2015, 01:13:52

Titel: Abfrage bzw. das Kriterium flexibler gestalten
Beitrag von: Shayol am Dezember 03, 2015, 01:13:52
Täglich grüßt das Murmeltier  ::)

Ich habe ein Foto hinzugefügt für eine bessere Beschreibung meines Problems.

In dieser Abfrage sollen alle Bauteile aufgezählt werden deren Menge <=1 sind. Soweit klappt auch alles. Ich würde das gerne flexibler gestalten indem ich das äbhänging machen möchte, mit dem Bauteil Feld -> "Min"

Jedes Bauteil hat eine unterschiedliche Anzahl von "Min" ,was im Lager sein soll. Als Beispiel das Bauteil  mit der ID:1 hat einen Min von 8. Dann sollte es aufgelistet werden wenn die 8 erreicht ist oder sogar weniger als 8 besteht. <=8

Wie kann ich das umsetzten das es klappt? Was müsste ich bei den Kriterien einsetzten  dafür ?


Danke
Titel: Re: Abfrage bzw. das Kriterium flexibler gestalten
Beitrag von: DF6GL am Dezember 03, 2015, 09:48:10
Hallo,


<=[Min]
Titel: Re: Abfrage bzw. das Kriterium flexibler gestalten
Beitrag von: Shayol am Dezember 03, 2015, 14:16:28
Bekomme eine Fehlermeldung, beim Öffnen der Abfrage:
Zitat
In der Abfrage ist der angegebene Ausdruck"Sum([Multiplikator]*[menge]) <=[Min]" nicht als Bestandteil einer Aggregatfunktion enthalten.

Muss ich das <=[Min] nicht in verbindung bringen mit der Summe vom Eintrag oben im Feld ?


Titel: Re: Abfrage bzw. das Kriterium flexibler gestalten
Beitrag von: DF6GL am Dezember 03, 2015, 15:49:01
Hallo,

poste mal den SQL-String der Abfrage....
Titel: Re: Abfrage bzw. das Kriterium flexibler gestalten
Beitrag von: Shayol am Dezember 03, 2015, 16:10:04
SELECT Bauteile.ID_Bauteil, Bauteile.Hersteller_Nr_1, Bauteile.Hersteller_Nr_2, Bauteile.Beschreibung
FROM Bauteile INNER JOIN (Vorgangsarten INNER JOIN Vorgaenge ON Vorgangsarten.ID_Vorgangsart = Vorgaenge.ID_Vorgangsart_F) ON Bauteile.ID_Bauteil = Vorgaenge.ID_Bauteil_F
GROUP BY Bauteile.ID_Bauteil, Bauteile.Hersteller_Nr_1, Bauteile.Hersteller_Nr_2, Bauteile.Beschreibung
HAVING (((Sum([Multiplikator]*[menge]))<=1));

Titel: Re: Abfrage bzw. das Kriterium flexibler gestalten
Beitrag von: DF6GL am Dezember 03, 2015, 16:24:41
Hallo,

das ist nicht der SQL-String, der den erwähnten Fehler verursacht....
Titel: Re: Abfrage bzw. das Kriterium flexibler gestalten
Beitrag von: Shayol am Dezember 03, 2015, 16:35:57
Wenn ich bei Kriterien <=[Min] einfüge und anschliessend die Abfrage erneut aufrufen möchte, erscheind genau dieser Fehler.
ZitatIn der Abfrage ist der angegebene Ausdruck"Sum([Multiplikator]*[menge]) <=[Min]" nicht als Bestandteil einer Aggregatfunktion enthalten.

Das ist der SQL-Code von der endsprechende Abfrage.

SELECT Bauteile.ID_Bauteil, Bauteile.Hersteller_Nr_1, Bauteile.Hersteller_Nr_2, Bauteile.Beschreibung, Sum([Multiplikator]*[menge]) AS Bestand
FROM Bauteile INNER JOIN (Vorgangsarten INNER JOIN Vorgaenge ON Vorgangsarten.ID_Vorgangsart = Vorgaenge.ID_Vorgangsart_F) ON Bauteile.ID_Bauteil = Vorgaenge.ID_Bauteil_F
GROUP BY Bauteile.ID_Bauteil, Bauteile.Hersteller_Nr_1, Bauteile.Hersteller_Nr_2, Bauteile.Beschreibung
HAVING (((Sum([Multiplikator]*[menge]))<=[Min]));


Sonst wüsste ich nicht , wo der Fehler sonst kommen sollte. DB habe ich im hinzugefügt als Link.

http://www.legion-der-finsternis.de/Lager.mdb (http://www.legion-der-finsternis.de/Lager.mdb)
Titel: Re: Abfrage bzw. das Kriterium flexibler gestalten
Beitrag von: MaggieMay am Dezember 03, 2015, 17:07:18
Hi,

du kannst in einer gruppierten Abfrage nicht euf ein Datenfeld zugreifen, das nicht in der Gruppierung enthalten ist. Welcher Min-Wert sollte da wohl genommen werden?

PS:
Ein paar Testdaten hätte die DB ruhig enthalten dürfen.
Titel: Re: Abfrage bzw. das Kriterium flexibler gestalten
Beitrag von: Shayol am Dezember 03, 2015, 17:41:36
ZitatPS:
Ein paar Testdaten hätte die DB ruhig enthalten dürfen.

Endschuldigung, hast natürlich Recht. Habe auch eine Leere DB hochgeladen davon. Hab die Datei überschrieben mit paar Beispielen. Sry , nochmal   :-[

Sollte der Min-Wert von der Tabelle : Bauteile genommen werden.
Titel: Re: Abfrage bzw. das Kriterium flexibler gestalten
Beitrag von: DF6GL am Dezember 03, 2015, 21:14:31
Hallo,

ZitatWelcher Min-Wert sollte da wohl genommen werden?

Es gibt nur einen in einer Gruppe, derweil nach Bauteil_ID gruppiert wird....

SELECT Bauteile.ID_Bauteil, Bauteile.Hersteller_Nr_1, Bauteile.Hersteller_Nr_2, Bauteile.Beschreibung, Sum([Multiplikator]*[menge]) AS Bestand, Bauteile.Min
FROM Bauteile INNER JOIN (Vorgangsarten INNER JOIN Vorgaenge ON Vorgangsarten.ID_Vorgangsart = Vorgaenge.ID_Vorgangsart_F) ON Bauteile.ID_Bauteil = Vorgaenge.ID_Bauteil_F
GROUP BY Bauteile.ID_Bauteil, Bauteile.Hersteller_Nr_1, Bauteile.Hersteller_Nr_2, Bauteile.Beschreibung, Bauteile.Min
HAVING (((Sum([Multiplikator]*[menge]))<=[Min]));

Titel: Re: Abfrage bzw. das Kriterium flexibler gestalten
Beitrag von: Shayol am Dezember 04, 2015, 01:36:40
Danke für die schnelle Hilfe