PDA

Vollständige Version anzeigen : DomWert will nicht so wie ich das will


Feylo
23.03.2006, 12:11
Ich habe es mit meinen sehr geringen Access-Kenntnissen geschafft eine DomWert-Funktion zu erstellen. Habe ein Formular mit dazugehörigen Tabellen erstellt, wo ich eine Abteilungsnummer eingebe per Kombinationsfeld und Access schreibt mir die passende Abteilung in ein Textfeld daneben.

Problem dabei ist, jedesmal wenn ich einen neuen Datensatz eingebe und die Abteilungsnummer wähle, springt das Formular auf einen anderen bereits vorhandenen Datensatz!!!

Datensatzherkunft: =DomWert("[Abteilung]";"[Abteilungsliste]";"[Abteilungsnr]=[Abteilungsnummer]")

VBA-Code zur Aktualisierung:

Private Sub Abteilungsnr_AfterUpdate()
Me.Requery
End Sub

Wie kann ich dieses Umspringen vermeiden???

Danke

Feylo

Knaggi
23.03.2006, 12:19
Ohne genaues über dein Formular zu wissen, versuche folgende Änderng

=DomWert("[Abteilung]";"[Abteilungsliste]";"[Abteilungsnr]=" & [Abteilungsnummer])

Damit die aktuelle Abteilungsnummer aus dem Feld [Abteilungsnummer] verwendet wird, musst du sie außerhaön der Hochkomma schreiben.

Gruß
Knaggi

Feylo
23.03.2006, 12:54
Funktioniert nicht Knaggi!

Wenn ich die Änderung mache, aktualisiert er die Abteilung nicht mehr!!!

Das Formular sieht aus wie folgt...

Personalnummer...wird per Hand eingegeben

Name...dito

Vorname...dito

Abteilungsnummer...Auswahl über Dorpdownfunktion

Abteilung...wird nach Eingabe der Abteilungsnummer automatisch ausgeworfen

Bis dahin klappt es wunderbar und ich kann den Datensatz speichern. Gebe ich nun einen neuen ein und wähle die Abteilungsnummer aus, springt das Formular auf den bereits gespeicherten Datensatz!!!

???

Smaug
23.03.2006, 13:37
wenn Du im Kombifeld Abteilungsnr nach der Auswahl ein Requery durchführen lässt wird immer zum 1.Datensatz gesprungen.
Was hindert Dich eigentlich daran ein 2-spaltiges Kombifeld mit den Feldern Abteilungsnummer und Abteilungsname zu verwenden. Die 1.Spalte wird durch Zuweisung einer Spaltenbreite von 0cm unsichtbar gestellt so dass nur der Name der Abteilung zu sehen ist. Die Datensatzherkunft des Kombifeldes wird auf Tabelle/Abfrage eingestellt mit folgender SQL-Anweisung:
SELECT Abteilungsnr,Abteilung FROM Abteilungsliste

Feylo
23.03.2006, 13:46
Wenn ich den Requery nicht mache, dann ändert er die Abteilung nich bei Änderung der Abteilungsnummer!!!

Zu Deiner Frage?? Es erfüllt nicht den Zweck den ich haben möchte!!

Smaug
23.03.2006, 13:56
wenn ich die Anforderung an Dein Formular richtig verstehe dann möchtest Du in einem Formular eine Abteilung auswählen und diese einem Datensatz zuordnen ??!
Wenn der Primärschlüssel der Abteilung als Fremdschlüssel in der Mastertabelle vorliegt, dann wird im Formular kein zusätzliches Textfeld benötigt. Der Einsatz eines einzigen Kombifeldes sollte hierfür genügen. Das Kombifeld kann sogar mit dem Steuerelement-Assistenten erstellt werden "Das Kombifeld soll seine Werte einer Tabelle oder Abfrage entnehmen..."
Der Primärschlüsselwert des Kombifeldes (AbteilungsNr) wird dabei als Steuerelementinhalt in der Mastertabelle (z.B. FIAbtNr) eingetragen. Die Datensatzherkunft ist besagte SQL-Anweisung aus #4
Oder verstehe ich etwas grundfalsch ??