Neuigkeiten:

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

Mobiles Hauptmenü

Übernahme Daten aus Abfrage in UFO

Begonnen von Problemkind, August 15, 2023, 08:58:52

⏪ vorheriges - nächstes ⏩

Problemkind

Hallo und Moin,
Problemdarstellung:
ich habe ein Formular, in dessen Formularkopf ich durch ein ungebundenes Textfeld Daten aus der tbl_Bestand abrufe (hier: EAN oder Artikelkartei). Sind in der tbl_Bestand passende Daten vorhanden, kann ich durch drücken eines Buttons die Daten in ein UFO frm_Abbuchen(im Detailbereich des Formulars) übernehmen und dort einen neuen Datensatz in der tbl_Bestand erzeugen.

In dem Datensatz gibt es auch ein Feld "Preis" welches durch eine Abfrage gefüllt werden soll. Die Abfrage funktioniert auch, sie gibt den Mittelwert verschiedener Preise wieder. Die Abfrage abf_Preis_Mittelwert befindet sich als UFO ebenfalls im Detailbereich des HFO.

Wie bekomme ich nun einen Wert aus der abf_Preis_Mittelwert in das UFO frm_Abbuchen übertragen?

Das UFO frm_Abbuchen ist verknüpft über Artikelkartei; EAN mit dem Formular.
Das UFO abf_Preis-Mittelwert ist verknüpft mit der EAN.

Gruß
Problemkind Frank

MzKlMu

Hallo,
Im Regelfall werden in einer Datenbank keine berechneten Werte gespeichert. Das Vorhaben wäre also erst mal zu hinterfragen.
Außerdem braucht man zur Ermittelung eines Mittelwertes nicht unbedingt eine Abfrage.

Zeige mal den SQL Text der Abfrage für den Mittelwert.
Zu was dient denn der Mittelwert des Preises ?
Rein informativ ?

Kannst Du auch mal ein Bild des Beziehungsfensters hier zeigen ?

Gruß Klaus

Problemkind

Hallo,
Warum den Mittelwert eines Preises?
 -es wäre der einfachste Weg einen Preis für ein Produkt festzulegen. Heute 10 gekauft für 100 Euro, Gestern 10 gekauft für 110 Euro, ergibt Mittelwert von 105 Euro für ein Stück. Da ich leider nicht in der Lage wäre FirstIn-FirstOut zu programmieren, erschien mir das am einfachsten.

Warum Preis mit in die tbl_Bestand:
 -gemäß Forderung meines Arbeitgebers soll in einer Datei neben Anzahl, wofür verwendet, Datum und so weiter.. auch der Preis des Produkts/Ersatzteils stehen, um so nachvollziehbar den Materialfluss und entstandene Kosten nachzuweisen.

Abfrage Mittelwert:
 -Abfrage der Eingangspreise in Abhängigkeit der EAN, wenn Bestandsänderung >0 ist. z.B. 10 zu 40 Euro/Stück, 10 zu 50 Euro/Stück.
Erst einmal die Selektierung nach Bestandsänderung > 0:
  SELECT BestandsänderungRZ_K.EAN, BestandsänderungRZ_K.Preis, BestandsänderungRZ_K.Anzahl_ZU, BestandsänderungRZ_K.Datum
FROM BestandsänderungRZ_K
GROUP BY BestandsänderungRZ_K.EAN, BestandsänderungRZ_K.Preis, BestandsänderungRZ_K.Anzahl_ZU, BestandsänderungRZ_K.Datum
HAVING (((BestandsänderungRZ_K.Anzahl_ZU)>0))
ORDER BY BestandsänderungRZ_K.EAN, BestandsänderungRZ_K.Datum DESC;

danach Zusammenfassung:
SELECT DISTINCTROW BestandsänderungRZ_K.EAN, Avg(BestandsänderungRZ_K.Preis) AS [Mittelwert von Preis]
FROM BestandsänderungRZ_K
GROUP BY BestandsänderungRZ_K.EAN, BestandsänderungRZ_K.Anzahl_ZU
HAVING (((BestandsänderungRZ_K.Anzahl_ZU)>0));

danach die Ermittlung des Mittelwertes:
SELECT DISTINCTROW abf_Preis_2.EAN, Avg(abf_Preis_2.[Mittelwert von Preis]) AS [Mittelwert von Mittelwert von Preis]
FROM abf_Preis_2
GROUP BY abf_Preis_2.EAN;

Gibt sehr wahrscheinlich einen eleganteren Weg, aber dass ist der Weg den ich "hinbekommen" habe.

Beziehungen:
 -kann ich leider nicht darstellen, da bei unserem System die Speicherung und das Einfügen von Bildern nicht freigeschaltet sind :-(

Aber die tbl_Artikel (Masterdatei für alle verfügbaren Artikel) und die tbl_Bestand sind über die EAN in Beziehung (hoffe die Aussage reicht).

Gruß