Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Abfrage bzw. das Kriterium flexibler gestalten

Begonnen von Shayol, Dezember 03, 2015, 01:13:52

⏪ vorheriges - nächstes ⏩

Shayol

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

DF6GL

Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Shayol

#2
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 ?



DF6GL

Hallo,

poste mal den SQL-String der Abfrage....
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Shayol

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));


DF6GL

Hallo,

das ist nicht der SQL-String, der den erwähnten Fehler verursacht....
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Shayol

#6
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

MaggieMay

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.
Freundliche Grüße
MaggieMay

Shayol

#8
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.

DF6GL

#9
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]));

Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Shayol