Hallo,
ich verwende in einem Formular die Funktion DomWert um einen Wert in einer anderen Tabelle nachzuschlagen. Das Ergebnis der Funktion (einen Text) möchte ich in die Tabelle des Formulars schreiben. Leider finde ich keine Lösung. hat jemand eine Idee?
Gruß
David
Schnell-Antwort:
Obwohl sich mir der Sinn nicht erschließt...
WENN du schon den Domwert ermittelst, kannst du ihn doch einfach einem gebundenen Textfeld zuweisen, das auf ein entsprechendes Feld der Tabelle verweist und als Textfeld im Formular (sichtbar oder nicht) dargestellt wird. Dann wird dieser Wert eben zur Laufzeit im Datensatz gespeichert und steht danach "für was auch immer" zur Verfügung.
Hallo David,
Zitatum einen Wert in einer anderen Tabelle nachzuschlagen
verwendet man üblicherweise ein Kombinationsfeld, gebunden an das
Fremdschlüsselfeld (FK) der Tabelle (DS-Herkunft des Forms). Und da
wird dann nur der Primärschlüssel (PK) der Wertetabelle eingetragen.
gruss ekkehard
Hallo,
ZitatDas Ergebnis der Funktion (einen Text) möchte ich in die Tabelle des Formulars schreiben.
Das macht man in einer Datenbank nicht.
Werte die man jederzeit ermitteln/berechnen kann, werden
nicht in Tabellen gespeichert.
Das ist fehlerträchtig, weil man immer sicherstellen muss, dass der Wert gespeichert wird. Auch wenn sich was ändert.
Wobei auch Domwert hier wahrscheinlich überflüssig ist, weil eine Abfrage mit der jetzigen Tabelle und der Tabelle des Kombis auch den Wert liefert.
Zitat von: crystal am Juni 29, 2020, 16:06:28Schnell-Antwort:
Obwohl sich mir der Sinn nicht erschließt...
WENN du schon den Domwert ermittelst, kannst du ihn doch einfach einem gebundenen Textfeld zuweisen, das auf ein entsprechendes Feld der Tabelle verweist und als Textfeld im Formular (sichtbar oder nicht) dargestellt wird. Dann wird dieser Wert eben zur Laufzeit im Datensatz gespeichert und steht danach "für was auch immer" zur Verfügung.
Hi crystal,
Danke für deine Antwort.
genau das funktioniert nicht. Die DomWert Funktion steht in dem gebunden Textfeld zur Zieltabelle. Es steht aber eben nur die Funktion drin und der Ergebniswert wird nicht in die Tabelle übernommen, das entsprechende Feld bleibt leer.
gibt es noch einen anderen Weg?
Gruß
David
Hallo,
Zitatgibt es noch einen anderen Weg?
ja, gar nicht speichern. Berechnete Werte haben in Tabellen nichts zu suchen.
Siehe mein vorheriger Beitrag (#3). Beachte auch den Hinweis zur Abfrage.
@NeuerMann1978 ZitatBerechnete Werte haben in Tabellen nichts zu suchen.
Laut OP ist das kein berechneter Wert sondern ein Wert aus einer
Werte(Nachschlage)tabelle. Natürlich speichert man den auch nicht,
sondern den FK (muss ich
dir sicher nicht erzählen), siehe meinen
Post von 07:14h.
gruss ekkehard
Hallo,
er will aber den Wert mit DomWert holen und in die Tabelle schreiben.
Zitatmöchte ich in die Tabelle des Formulars schreiben.
Und Domwert sehe ich als berechnetes Feld an.
Hallo,
"Domwert in eine Tabelle des Formulars schreiben":
Sub Form_Beforeupdate(Cancel as Integer)
Me!MeingebundenesFeld = Dlookup("DeinNachschlagefeld","tblNachschlageTabelle","ID = " & Me!MeinFeldMitDerIDDesNachschlageDatensatzes )
End Sub