Neuigkeiten:

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

Mobiles Hauptmenü

Berechnung von Werten iVm der Verknüpfung von Feldern in einem Formular

Begonnen von Chris777777, März 06, 2018, 12:35:10

⏪ vorheriges - nächstes ⏩

Chris777777

Hallo zusammen,
ich habe ein Formular u. a. mit den Feldern: Kunde, Land, Behälter und Faktor erstellt. Es gibt viele verschiedene Möglichkeiten diese vier Felder auszufüllen, z.B.:
Kunde: A
Land: Belgien
Behälter: Box
Faktor: 0,4

oder

Kunde: A
Land: Belgien
Behälter: Kiste
Faktor: 1,2

Alle Kombinationsmöglichkeiten habe ich in eine separate Tabelle geschrieben. Sobald die Felder Kunde, Land und Behälter gefüllt sind und in einem weiteren Feld "Anzahl" ein Wert eingegeben wurde, z.B. 10, soll dieser Wert mit dem entsprechenden Faktor multipliziert werden. Das Ergebnis soll ich einem weiteren Feld angezeigt werden.

Ist sowas möglich?
Danke und viele Grüße,
Chris

Beaker s.a.

In die Eigenschaft "Steuerelementeinhalt" von einem weiteren Feld:
= Me.Faktor * Me.Anzahl
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

MzKlMu

Hallo,
und als Hinweis: Auf eine Feldname "Anzahl" ist unbedingt zu verzichten. Je nach Formel liefert Anzahl die Anzahl der Datensätze und nicht den Eintrag im Feld. Besonders wenn man Anzahl im Steuerelementinhalt verwendet.
Bei der Formel von ekkehard oben dürfte das auch der Fall sein.
Ändere das Feld in "Menge" z.B.
Gruß Klaus

Chris777777

Hallo,
ok, den Feldnamen habe ich auf Menge geändert. Allerdings erscheint nun in dem weiteren Feld (Feldname = Übertragungswert) #Name?
Es muss doch zunächst auf die Tabelle "tblDaten" (in der alle Kombinationsmöglichkeiten wie "Kunde", "Land", "Behälter" und "Faktor" aufgelistet) zugegriffen werden oder? Sobald z.B. das Land oder der Behälter abgeändert wird, ändert sich auch der Faktor. Der Faktor wird jedoch nicht von den Benutzern eingegeben, sondern soll automatisch nach Eingabe von Kunde, Land und Behältern gezogen und mit dem Feld "Menge" multipliziert werden. Das ermittelte Ergebnis soll dann im Feld "Übertragungswert" erscheinen.
Viele Grüße,
Chris

MzKlMu

Hallo,
von was ist denn der Faktor abhängig, vom Behälter und dem Kunden oder nur vom Behälter.

In einer Abfrage mit den beteiligten Tabellen und der Verknüpfung über die Schlüsselfelder steht auch der Faktor für Berechnungen direkt zur Verfügung.
In der Abfrage dann ein berechnetes Feld:
Übertragungswert: Faktor * Menge

Du muss darauf achten, dass Anzahl überall in Menge geändert wird, auch in Abfragen muss das angepasst werden. Das geht nicht automatisch.
Gruß Klaus

Lachtaube

Klarstellung: Nicht der Feldname Anzahl sondern die (Pest-)Option Objektnamenautokorrektur ist für Fehler beim Rechnen mit dem Feld verantwortlich.
Grüße von der (⌒▽⌒)

Chris777777

Hallo,
der Faktor ist abhängig vom Kunden, Behälter und auch vom Land. Die dafür relevanten Infos habe ich in die tblDaten hinterlegt. Wenn ich z.B.
Kunde: A
Behälter: Box
und Land: Belgien
eingebe, ist der Faktor immer 0,4
Sobald für Kunde, Behälter oder Land etwas anderes eingetragen wird, ändert sich der Faktor wieder. Alle möglichen Kombinationen der drei Felder sind in der tblDaten hinterlegt. Auf diese Daten soll dann im Formular im Feld Übertragungswert zugegriffen werden. In diesem Feld muss dann eine Prüfung stattfinden, mit welchen Angaben die Felder Kunde, Behälter und Land gefüllt sind. Der entsprechende Faktor soll dann mit dem Feld Menge multipliziert werden. Das Feld Menge wird vom Benutzer individuell eingegeben.
Viele Grüße,
Chris

MzKlMu

Hallo,
ZitatIn diesem Feld muss dann eine Prüfung stattfinden, mit welchen Angaben die Felder Kunde, Behälter und Land gefüllt sind.
da muss doch nichts geprüft werden. In der Tabelle steht das doch alles Datensatzabhängig drin.
Zeige mal ein Bild des Beziehungsfensters.
Gruß Klaus

Chris777777

Hallo,
ich lade mal die ZIP hoch. Vielleicht ist das leichter.
Viele Grüße,
Chris

Lachtaube

Hier ist eine mögliche Umsetzung für die Dateneingabe bzw. zum Navigieren.

PS: wegen unterschiedlicher Schreibweise von Hongkong (Land) vs. Hong Kong (Daten) habe ich zusätzlich ein Land Hong Kong in die Tabelle Land am Ende eingefügt, was Du löschen solltest, nachdem zuvor in der Faktorentabelle der Datensatz mit der LandId 249 auf 80 geändert wurde. Ich hab's leider erst zu spät bemerkt.
Grüße von der (⌒▽⌒)

MzKlMu

Hallo,
ich habe auch noch eine mögliche Umsetzung.
Vom Gedanke ist die ähnlich dem Vorschlag von Lachtaube. Ich habe nur vollständige Beziehungen angelegt.
Gruß Klaus

Chris777777

Hallo,
super, danke für eure Mühe. Das sieht sehr gut aus. Es gibt allerdings noch ein kleines Problem. Für manche Kunden ist keine Länder-Behälter Beziehung mit dem dazugehörigen Faktor vorhanden. Das ist auch so gewollt. Das bedeutet, dass noch mehr Kunden existieren, als in der tblDaten bzw. LKB_Faktor angegeben. Wenn ein Kunde keine Länder-Behälter Beziehung besitzt, sollen die Felder im Formular frei ausfüllbar sein bzw. mithilfe des Dropdown-Button gefüllt werden können.
Zudem wäre es schön, wenn in der Tabelle tblWA bzw. WA die Einträge aus dem Formular mit Wörtern gefüllt werden und nicht mit Ziffern. Also soll z.B. das Feld Land nicht mehr mit der LandID (z.B.88) gefüllt werden, sondern mit Israel.
Viele Grüße,
Chris

MzKlMu

Hallo,
ZitatZudem wäre es schön, wenn in der Tabelle tblWA bzw. WA die Einträge aus dem Formular mit Wörtern gefüllt werden und nicht mit Ziffern. Also soll z.B. das Feld Land nicht mehr mit der LandID (z.B.88) gefüllt werden, sondern mit Israel.
Ist Dir nicht aufgefallen, dass es bei unseren Vorschlägen in der Tabelle tblWA keine Felder zum Land, zum Kunden und zum Behälter mehr gibt ? Wenn Du die Beziehungen angesehen hast, sollte Dir das eigentlich aufgefallen sein. Das geht auch nicht anders, in der Tabelle haben die anderen Felder nichts zu suchen.
Wenn Du die Klartexte benötigst, so ist das über eine Abfrage zu erledigen. Alles andere würde dem Sinn einer Datenbank widersprechen.

ZitatWenn ein Kunde keine Länder-Behälter Beziehung besitzt, sollen die Felder im Formular frei ausfüllbar sein bzw. mithilfe des Dropdown-Button gefüllt werden können.
Welche Felder willst Du dann frei ausfüllen ?
Gruß Klaus

Chris777777

Hallo,
das ist mir schon aufgefallen. Jedoch habe ich keine Erfahrungen mit Access und weiß dementsprechend nicht was möglich ist bzw. welche Auswirkungen eine Einstellung hat.

Wie muss ich denn die Abfrage gestalten, damit ich Klartexte erhalte?

Sobald eine Land-Kunde-Behälter Beziehung nicht in der tblDaten gelistet ist, sollen alle anderen Felder wie Land, Kunde oder Behälter ohne Begrenzung füllbar sein. Hier gibt es dann auch keinen Faktor und das Übertragungsfeld soll einfach leer bleiben.

Viele Grüße,
Chris

MzKlMu

Hallo,
ZitatHier gibt es dann auch keinen Faktor und das Übertragungsfeld soll einfach leer bleiben.
Soll in dieses Feld dann manuell etwas eingetragen werden (können) ?
Gruß Klaus