Juli 14, 2020, 21:55:52

Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!


Ergebnis von DomWert in Tabelle schreiben

Begonnen von david4731, Juni 29, 2020, 15:28:47

⏪ vorheriges - nächstes ⏩

david4731

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

crystal

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.
Wer Fehler in meinen Antworten findet, darf sie behalten, muss sie aber kommentieren. ;-)
Dies ist keineswegs arrogant gemeint, sondern soll nur unterstreichen, dass meine Antworten - natürlich - nicht immer fehlerfrei sind und sein können.
Devise: bitte immer erst selbst probieren!

Beaker s.a.

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
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.

NeuerMann1978

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.

david4731

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

NeuerMann1978

Juni 30, 2020, 10:16:30 #5 Letzte Bearbeitung: Juni 30, 2020, 10:21:55 von NeuerMann1978
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.

Beaker s.a.

@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
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.

NeuerMann1978

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.

DF6GL

Hallo,

"Domwert in eine Tabelle des Formulars schreiben":

Sub Form_Beforeupdate(Cancel as Integer)
   Me!MeingebundenesFeld = Dlookup("DeinNachschlagefeld","tblNachschlageTabelle","ID = " & Me!MeinFeldMitDerIDDesNachschlageDatensatzes )
End Sub