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 ⏩

Lachtaube

Ich würde dann nur eine Kunden-Ländertabelle mit der WA verknüpfen und nach deren Auswahl nachschauen, ob für die Kombination ein Faktor in einer anderen Tabelle (zusammengesetzt aus der neuen Kunden-Länder Tabelle und den bisherigen Faktoren) vorliegt; falls ja, den Faktor auslesen und in die WA-Tabelle eintragen; falls nein, den Eintrag vom Anwender vornehmen lassen.
Grüße von der (⌒▽⌒)

Chris777777

Hallo,
die Möglichkeit im Übertragungsfeld etwas eintragen zu können, muss nicht vorhanden sein.
In den Feldern Land, Kunde, Behälter müssen Eintragungen möglich sein.
Viele Grüße,
Chris

MzKlMu

Hallo,
ZitatLand, Kunde, Behälter müssen Eintragungen möglich sein.
Aber das kann doch nicht unabhängig sein. Du könntest ja völlig unlogische Kombinationen Kunde zu Land wählen, also den deutschen Kunden Meier in Bulgarien ansiedeln.
Ist das wirklich gewünscht ?
Wenn nicht, muss in der Datentabelle eine Kunde-Land Kombination angelegt sein.

PS:
Hier zeigt sich mal wieder, dass man bei einer Frage immer alle Randbedingungen schildern sollte. Nach den neuesten Hinweisen muss das bisherige Datenmodell zumindest in Teilen wieder über den Haufen geworfen werden.
Gruß Klaus

Chris777777

Hallo,
sry, hätte ich gleich mit angeben sollen...
Ich weiß, dass es unlogisch klingt, ist aber wirklich so gewollt.
Sprich: Land-Kunde-Behälter Beziehung vorhanden, Berechnung eines Wertes im Übertragungsfeld soll mithilfe des Faktors stattfinden.
Sofern keine Land-Kunde-Behälter Beziehung hinterlegt ist, soll eine manuelle Eingabe möglich sein und das Übertragungsfeld frei bleiben.
Viele Grüße,
Chris

MzKlMu

Hallo,
dann muss alles wieder über den Haufen geschmissen werden.
Die Tabellen Kund, Land und Behälter müssen jetzt doch als Fremdschlüssel in die Tabelle WA.
Nach Auswahl der 3 Werte muss per DLookup geprüft werden, ob es diese Kombination gibt, wenn Ja Faktor automatisch eintragen, wenn Nein Faktor leer lassen.
Der Faktor muss dann zusätzlich (redundant) auch noch in die Tabelle WA.
Gruß Klaus

Lachtaube

An einer Kunden-Ländertabelle würde ich allein schon schon aus dem von Klaus vorher erwähnten Bulgarien-Beispiel nicht rütteln. Nach einer Länderauswahl kann man bei noch nicht vorhandener Zuordnung mittels NotInList Event nach Bestätigung durch den Benutzer eine neue Zuordnung jederzeit erzielen (wenn man kein eigenes Formular dafür verwenden will). Ebenso könnte mit dem Behälter verfahren werden (ob nun über eine Tabelle wie bisher oder über zwei Tabellen wäre vermutlich egal). Nur der Faktor müsste halt in der Zuordnungstabelle optional gehalten werden.
Gültigkeitsregel: >0 Oder Ist Null
Um ein Kopieren des Faktors in die Zieltabelle wird man kaum herumkommen. Das hat aber auch den Vorteil, dass sich Änderungen am Faktor nicht auf vergangene Vorgänge bei der Berechnung auswirken, und man sich damit eine Historie der Faktoren ersparen kann.
Grüße von der (⌒▽⌒)

Chris777777

Hallo,
ich probiere es gerade mittels NotInList Event:

Private Sub Kunde_NotInList(NewData As String, Response As Integer)
Response = acDataErrAdded
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("tblDaten", dbOpenDynaset)

rs.AddNew
rs! "Kunde" = NewData
rs.Update

rs.Close: Set rs = Nothing
Set db = Nothing
End Sub

Allerdings erhalte ich beim Ausdruck " rs! "Kunde" = NewData" eine Fehlermeldung.
VG
Christoph

Beaker s.a.

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)

Lachtaube

Außerdem muss Response auf einen Wert gesetzt werden. Siehe auch: FAQ 4.13
Grüße von der (⌒▽⌒)

Chris777777

Hallo,
auf welchen Wert muss Response gesetzt werden?

Ich erhalte immer noch die Fehlermeldung "Element in dieser Auflistung nicht gefunden" und danach wird man auf den folgenden Ausdruck verwiesen:
rs.Fields("Kunde")

Gruß,
Chris

Lachtaube

Grüße von der (⌒▽⌒)

Beaker s.a.

ZitatIch erhalte immer noch die Fehlermeldung "Element in dieser Auflistung nicht gefunden"
Na dann wird das Feld wohl anders heissen; - musst du noch mal in die
Entwurfsansicht der Tabelle schauen.
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)