Hallo liebe Community....
aktuell kämpfe ich mit der Darstellung meiner Bestellsumme im Formular.
ich habe eine
tbl_Atikel, eine
tbl_Bestellpositionen, eine
tbl_Bestellungen und eine
tbl_Lieferanten.
Aus den Artikeln erstelle ich die Bestellpostionen, welche wiederum der Bestellung untergeordnet sind.
Und die Bestellung dem jeweiligen Lieferanten.
Da jede Bestellung häufig ihre eigenen Versandkosten hat (manchmal holt man ab, machmal per Paket, DHL oder Spedition, Kosten je Lieferant unterschiedlich) gebe ich die Versandkosten direkt in ein Feld in der
tbl_Bestellungen ein. Somit habe ich (so glaube ich) jeder Bestellung auch ihre Versandkosten zugewiesen.
Nun zum Problem: In den Bestellpositionen selbst stehen die Einzelpreise der Artikel, deren Anzahl und (Anzahl x Einzelpreis) auch der Gesamtpreis.
Wenn ich nun eine Übesicht möchte, was der Gesamtbestellwert (also die Summe aller der Bestellung zugeordneten Bestellpositionen sowie der Versandkosten) möchte, dann bekomme ich das - irgendwie - nicht hin.
Hintergrund ist der, dass ich in einem Formular "Lieferantendetails" in einer Multipage auf 3 Seiten folgendes darstellen möchte:
- Lieferantendaten (UST-ID, Adresse, Branche, Anschrift, etc.)
- die dem Lieferanten zugewiesenen Ansprechpartner (Name, Adresse, Position, etc.)
- die beim Lieferanten getätigten Bestellungen incl. deren Gesamtbestellwert (brutto und netto)
ich habe das in einer Abfrage versucht, aber die Summierung der Gesamtkosten der Bestellpositionen mit den Versandkosten kriege ich nicht hin.
Daher die Frage:
Ist meine Vorgehsnweise (Einzelpreise in
tbl_Bestellpositionen, Versandkosten in der
tbl_Bestellungen überhaupt richtig oder wie setzt man so etwas am Geschicktesten um?
Bin für jeden Ratschlag dankbar.
Grüße aus dem Süden der Republik
Chris
Hallo,
Du kannst doch im Formularkopf/Fuß die Summen Brutto und Netto problemlos anzeigen.
Zu dieser Gesamtsummen kannst Du die Versandkosten (die im Hafo stehen) addieren.
Oder beziehsts Dich im Hafo auf das Summnfeld im Ufo und addierst auch die Versandkosten.
Zitat(Einzelpreise in tbl_Bestellpositionen, Versandkosten in der tbl_Bestellungen überhaupt richtig
Das ist mMn richtig so.
Hmm. Danke für die Antwort......
Ich habe ja nur 1 UFo in der Registerkarte. Und da hätte ich gern alle dem Lieferanten zugeordneten Bestellungen zeilenweise incl- der Gesamtbestellsumme aufgeführt. Also in 1 Zeile jeweils Gesamtbestellsumme aller Einzelartikel und die Versandkosten als Summe.
Quasi als Übersicht, wann welche Bestellung bei dem Lieferanten getätigt wurde. So wie im Anhang der erste Entwurf. Die Verlinkung passt, aber die Summierung nicht :-X
Zitatich habe das in einer Abfrage versucht, aber die Summierung der Gesamtkosten der Bestellpositionen mit den Versandkosten kriege ich nicht hin.
Warum zeigst du die nicht?
Da müssen doch nur die beiden Felder addiert werden.
Hmm...
weil die Abfrage nicht so will, wie ich ..
ich habe die tbl_Bestellungen unf die tbl_Bestellpositionen reingezogen, gruppiert..... und dann will Access jedesmal einen Parameterwert haben.
Code:
SELECT tbl_Bestellungen.best_Bezeichnung, tbl_Bestellungen.[best_Bestellnummer berechnet], tbl_Bestellungen.best_Versandkosten_netto, tbl_Bestellungen.best_Versandkosten_brutto, tbl_Bestellungen.best_ID, tbl_Bestellpositionen.best_ID_f, Sum(tbl_Bestellpositionen.bpos_Gesamtpreis_netto) AS Summevonbpos_Gesamtpreis_netto, [Summevonbpos_Gesamtpreis_netto]+[best_Versandkosten_netto] AS Bestellwert
FROM tbl_Bestellungen LEFT JOIN tbl_Bestellpositionen ON tbl_Bestellungen.[best_ID] = tbl_Bestellpositionen.[best_ID_f]
GROUP BY tbl_Bestellungen.best_Bezeichnung, tbl_Bestellungen.[best_Bestellnummer berechnet], tbl_Bestellungen.best_Versandkosten_netto, tbl_Bestellungen.best_Versandkosten_brutto, tbl_Bestellungen.best_ID, tbl_Bestellpositionen.best_ID_f, [Summevonbpos_Gesamtpreis_netto]+[best_Versandkosten_netto]
HAVING (((tbl_Bestellungen.best_ID)=2));
Bin da echt grad am verzweifeln... Die Lösung ist bestimmt recht simpel.. Aber ich komme nicht drauf....
Hallo Chris,
Vorab; - suche mal im Netz nach "SQL-Formatter", und lese dich in die Verwendung
von Tabellen(Feld)-Aliasen ein. Normal schau ich mir solcherart gepostete Abfragen
gar nicht an. Und da bin ich nicht der Einzige.
Zur Abfrage; - eine Gruppierung über alle Felder macht keinen Sinn, da die sich
gegenseitig "aufheben". Das einzige Feld bei dem eine Gruppierung hier Sinn macht,
ist das Feld "best_id", das aber gar nicht im Select-Teil auftaucht.
Ein Left Join macht hier auch keinen Sinn, denn es wird ja wohl keine Bestellpos.
geben die keiner Bestellung zugeordnet sind.
HAVING ist auch nicht korrekt, da du ja auf keinen der Aggregate filtern willst,
also
... WHERE tbl_Bestellungen.best_ID=2Nimm also die "best_id" mit in den SELECT-Teil und gruppiere auf dieses Feld, werfe
alle Felder, die nicht aggregiert werden raus (die meckert die JET eh an), verknüpfe
die beiden Tabellen mit einem INNER JOIN und filtere mit WHERE.
Wenn du damit nicht weiterkommst lade ein Beispiel hoch.
gruss ekkehard
Erstmal Danke - für die ausführliche Hilfe und Deine Geduld...
Was ich wohl bisher noch nicht ganz verstehe ist, wie ich - wenn ich ein Formular basierend auf einer Abfrage aufbaue und diese Anfrage dann filtere und gruppiere, dann auch die Felder die nicht gruppiert werden sollen in das Formular bekomme. Denn die "Gruppierung rauslöschen" geht ja nicht wg. dem Aggregieren.
In meinem speziellen Fall ist es so, dass ich die Bestellbezeichnung, die Bestell-Nr.(intern und zum Lieferanten), das Zahlungsziel gerne mit in der Übersicht hätte. Und eben da zieht mir Access dann auch "Gruppierung" an.
Zitat von: Beaker s.a. am August 01, 2023, 13:02:51lese dich in die Verwendung
von Tabellen(Feld)-Aliasen ein
Wie sollte ich denn die Tabellen-Feldnamen ändern? Gibt es da gute Links zum Einlesen?
Nochmals... herzlichen Dank. hat mich alles weitergebracht. Besser als jedes Buch.
Zitatdann auch die Felder die nicht gruppiert werden sollen in das Formular bekomme.
Erstellst du eine zweite Abfrage auf Basis der gruppierten und joinst die anderen Felder
dazu.
Gibt es da gute Links zum Einlesen?
Schaust du hier (https://www.google.de/search?q=tabellen+alias&source=hp&ei=6CDKZIfyGsqSkdUPg4SUOA&iflsig=AD69kcEAAAAAZMou-MKzoYwq8hVZ45NSPGDD0nJsTEol&oq=Tabellenalias&gs_lp=Egdnd3Mtd2l6Ig1UYWJlbGxlbmFsaWFzKgIIADIGEAAYHhgNMggQABgIGB4YDUioYVAAWM9DcAB4AJABAJgBhQGgAdUHqgEEMTAuM7gBAcgBAPgBAcICERAuGIAEGLEDGIMBGMcBGNEDwgILEAAYgAQYsQMYgwHCAgUQABiABMICCBAAGIAEGLEDwgILEC4YgAQYsQMYgwHCAg4QLhiABBixAxjHARjRA8ICCxAAGIoFGLEDGIMBwgIOEC4YgAQYsQMYxwEYrwHCAgQQABgDwgIHEAAYgAQYCsICCBAAGIkFGKIEwgIFEAAYogQ&sclient=gws-wiz).
Zitat von: Beaker s.a. am August 02, 2023, 11:27:02Erstellst du eine zweite Abfrage auf Basis der gruppierten und joinst die anderen Felder dazu.
Da wäre ich jetzt von allein nicht drauf gekommen. Super, Danke dafür.
Danke für die Links - gibt meine Wochenendlektüre.