Neuigkeiten:

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

Mobiles Hauptmenü

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!

Aus gesundheitlichen Gründen nur noch selten dabei...

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
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)

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

#5
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
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)

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
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access