Hallo,
ich habe eine Ansicht „Projekt“ mit den Eingabefeldern „Personalnummer“ und „Nachname“ (für den Projektleiter). Die Ansicht „Projekt“ hat eine Relation zu einer Tabelle „Person“, die über die Felder „Personalnummer“ verknüpft sind.
Das Eingabefeld „Personalnummer“ besitzt Folgeverknüpfungen, u.a. mit dem Ziel „Nachname“, das mit der Einstellung „über Formel“ und der Formel „<Person.Nachname>“ das Feld „Nachname“ füllt. Wenn der Benutzer eine Person über den „…“-Button auswählt, wird also das Feld „Nachname“ aus der „Person“-Tabelle gefüllt.
Wenn sich nun aber der Nachname in der Tabelle „Person“ ändert, würde ich gerne dem Benutzer die Möglichkeit geben, das Feld „Nachname“ zu aktualisieren. Mit einem nochmaligen Auswählen aus dem „Personalnummer“-Dialog klappt das aber nicht.
Gibt es eine Möglichkeit, diese Datenübernahme erneut anzustoßen?
Oder kann man irgendwie über CurrentRecordSet.CurrentRecord an den Inhalt des Nachname-Felds der Person-Tabelle herankommen (dann würde ich mir selbst ein Script schreiben)?
Viele Grüße
Guido Schöpp
Hi Guido,
Falls dein Problem noch aktuell ist, 2 Gedanken:
-
Vermeidung redundanter Daten. Heißt: statt umkopieren des Nachnamens bei Auswahl der Personalnummer, zeige den Nachnamen über die Relation an. Also du platzierst sinngemäß das Feld PersonalNummer.Personen.PersonalNummer.Nachname und killst das Feld Nachname in Projekte komplett. Dann ist es immer der „aktuelle“ Nachname und keine Kopie davon.
-
Wenn 1. nicht geht, dann mach ein Scriptbutton hinter den Nachnamen. Der enthält sinngemäß (ich schreib es mal nur so hin, korrekte Syntax musst du selber sicherstellen)
cRM.CurrentProject.ActiveViews.ActiveView.CurrentInputForm(2).SetContentsByName "Nachname", ... CurrentInputForm(2).GetContentsByName("PersonalNummer.Personen.PersonalNummer.Nachname")
Dh du liest den Wert über die Relation neu aus und setzt ihn in das Feld.
Evtl. muss noch ein pragma keep-editmode vorne rein, damit es auch im Bearbeutenmodus klappt, evtl muss es statt (2) auch (0) heißen, damit er in den Bearbeitenmodus wechselt. Musst jew. kurz in SDK Doku nachlesen…
Der Button könnte nur sichtbar gemacht werden, wenn Nachname <> PersonalNummer.Personen.PersonalNummer.Nachname, dh wenn man den Button sieht, weiß man direkt, dass man ihn klicken sollte.
Ich empfehle Variante 1.
Gruß,
Alex