Tabellarisches Formular & Steuerelementnamen

Hallo zusammen,

Ich habe ein Formular, welches eine ComboBox enthält. Wähle ich nun aus dieser ComboBox einen Eintrag aus, soll an Hand der ausgewählten ID ein Wert in ein Steuerelement des selben Formulars gesetzt werden. Dieser Wert wird mit Hilfe der ausgewählten ID (aus der ComboBox) aus der Datenbank selektiert. Das selektieren und in das Control setzen klappt auch. Aber… da die Ansicht des Formulars „Tabellarisch“ ist wird gleich der Wert in ALLEN Datensätzen geändert.
Das heißt, der Wert (als Beispiel „200“) wird nicht nur in das Steuerelement (TextBox) des aktuellen Datensatzes sondern in die TextBox ALLER Datensätze geschrieben.

Könnte das etwas damit zu tun haben, dass diese TextBox, die befüllt wird, ungebunden ist? Oder muss ich der irgendwie für jeden Datensatz einen eigenen Namen geben?

Vielen Dank schon einmal vorab.

Alex

Hallo,

Könnte das etwas damit zu tun haben, dass diese TextBox, die
befüllt wird, ungebunden ist?

das könnte nicht nur, das ist prinzipiell so… :wink:

Oder muss ich der irgendwie für
jeden Datensatz einen eigenen Namen geben?

Nein, das geht auch nicht.

Workaround wäre die Verwendung der Dlookup()-Funktion im Steuerelementinhalt des Textfeldes oder anstelle ein an die ID gebundenes Kombifeld mit Datensatzherkunft zur Tabelle mit den benötigten Daten und passend eingestellten Eigenschaften.

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Hallo,

vor wenigen Minuten bin ich auf die DLookup (bzw. DomWert, wie sie anscheinend im deutschen Access heißt) gestoßen. Jetzt muss ich mir nur noch heraussuchen, wie sie korrekt benutzt wird, denn ich bekomme ständig einen Syntaxfehler…

Kannst du vielleicht erkennen, was daran falsch ist?

=DomWert("[KalorienProEinheit]", „[Foods]“, "[FoodId] = " & FoodId)

Gruß,
Alex

Hallo,

vor wenigen Minuten bin ich auf die DLookup (bzw. DomWert, wie
sie anscheinend im deutschen Access heißt) gestoßen.

na, da hab ich Dich doch „draufgestoßen“, oder nicht??

Jetzt
muss ich mir nur noch heraussuchen, wie sie korrekt benutzt
wird, denn ich bekomme ständig einen Syntaxfehler…

=DomWert("[KalorienProEinheit]", „[Foods]“, "[FoodId] = " & [FoodId])

Ist an sich nicht falsch, wenn:

„KalorienProEinheit“ das Feld in der Tabelle „Foods“ ist, dessen Wert aus dem Datensatz gelesen werden soll, bei dem der Inhalt des Tabellenfeldes „FoodId“ (Datentyp Zahl, long) mit dem akt. angezeigten Wert des Formularfeldes „FoodId“ übereinstimmt.

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Södele… hehe… nee, leider warst das nicht du, der mich darauf gestoßen hat :wink:

Aber wie dem auch sei… die Berechnung funktioniert jetzt. Allerdings nur solange, wie ich das Unterformular (auf dem dieses berechnete Feld sitzt) alleine öffne. Öffne ich das Hauptformular, wird das berechnete Feld kontinuierlich mit „Fehler“ gefüllt… hast du eine Idee?

Hallo Alex,

Ich habe ein Formular,

wie ich deinem letzer Antwort an Franz entnehme, ist es ein UFO (Unterformular)! Also kein Auto sondern ein Flugzeug!

welches eine ComboBox enthält.

in welchem Bereich ist die Box angesiedelt?

Das selektieren und in das Control setzen klappt auch.

hmm, keine Ahnung wie du das so umständlich machst, ab Hauptsache es klappt, ich könnte mir vorstellen es geht einfacher :smile:

Könnte das etwas damit zu tun haben, dass diese TextBox, die
befüllt wird, ungebunden ist? Oder muss ich der irgendwie für
jeden Datensatz einen eigenen Namen geben?

imho vermute ich: dein Formularaufbau beinhaltet den „Fehler“

In einem Endlosformular bearbeitet man einzelen Datensätze entweder im Formularkopf, und/oder im Formularfuss, nicht in der angezeigten Zeile des Datensatzes.

Der Alias für das aktuelle Formular ist ME.

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)