Autor Thema: Wie Script-Syntax für @NameLookup?  (Gelesen 3282 mal)

Offline FrankL

  • Frischling
  • *
  • Beiträge: 17
Wie Script-Syntax für @NameLookup?
« am: 07.09.06 - 14:47:56 »
Folgender Sachverhalt: Auf einem Formular werden die Felder automatisch mit den Daten des jeweils aktuellen Users gefüllt, z.B. über solche Formeln:
@NameLookup([NoUpdate];@UserName;"InternetAddress")

Idee: Wenn der User im Feld "Name" einen anderen User eingibt bzw.ändert, dann sollen sich die anderen Felder automatisch mit aktualisieren. Bei den Script-Ereignissen gibt es das Ereignis "Exiting". Ist es jetzt möglich, dass man dort also 'beim verlassen des Feldes' entsprechenden Code hinterlegt, der die Felder aktualisiert? Aber wie lautet die Syntax bzw. das Script-Gegenstück zu @NameLookup? Evtl. hat da jemand einen Beispielcode?

botschi

  • Gast
Re: Wie Script-Syntax für @NameLookup?
« Antwort #1 am: 07.09.06 - 15:14:29 »
Was meinst Du denn mit "dass man dort also 'beim verlassen des Feldes' entsprechenden Code hinterlegt, der die Felder aktualisiert?".

Soll in den anderen Feldern die gleiche Information enthalten sein, wie im Feld "Name"? Denn kannst Du im Exiting einfach den Wert von Feld "Name" in andere Felder schreiben.
Oder @NameLookup einmal ausführen, den Wert in ein verstecktes Feld schreiben und die anderen Felder auf das versteckte Feld beziehen.

Offline FrankL

  • Frischling
  • *
  • Beiträge: 17
Re: Wie Script-Syntax für @NameLookup?
« Antwort #2 am: 07.09.06 - 15:38:08 »
Nein, das ist anders gemeint, also nochmal:

Beim öffnen eines neuen Formulars werden automatisch die Felder Name, Telefon, Mail-Adresse mit den Daten des aktuellen Benutzers gefüllt. Falls der Antrag jedoch für jemand anderes gestellt werden soll, so kann der User das Feld "Name" ändern, also einen anderen User eintragen. Wenn jetzt dieses Feld "Name" verlassen wird, dann sollen die anderen Felder Telefon, Mail etc. automatisch mit aktualisiert werden, also jetzt mit den Daten des neu eingegebenen Users. Wie lautet dafür die Syntax?
"Also gehe her, nehme den neuen Namen, schaue in der Names-Datenbank nach Telefon, Mail etc. und trage die neuen Daten ein".

Ich hoffe, der Sachverhalt ist jetzt klarer...

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Wie Script-Syntax für @NameLookup?
« Antwort #3 am: 07.09.06 - 15:42:05 »
... schon mal mit Evaluate( "<Formelstring>" ) probiert, dann geht das in LS...

Toni
Grüßle Toni :)

Offline FrankL

  • Frischling
  • *
  • Beiträge: 17
Re: Wie Script-Syntax für @NameLookup?
« Antwort #4 am: 07.09.06 - 16:13:33 »
Wie jetzt? So?
doc.tex_mailuser = Evaluate(@NameLookup([NoUpdate];@UserName;"InternetAddress"))

...aber das funktioniert leider nicht. Sorry für die trivialen Fragen, aber bin noch blutiger Anfänger

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Wie Script-Syntax für @NameLookup?
« Antwort #5 am: 07.09.06 - 16:16:07 »
wenn die Felder berechnet sind: einfach

Dim ws as New NotesUIWorkspace

call ws.CurrentDocument.Refresh()

ins Exiting Deines Feldes.

HTH
Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline FrankL

  • Frischling
  • *
  • Beiträge: 17
Re: Wie Script-Syntax für @NameLookup?
« Antwort #6 am: 07.09.06 - 16:37:48 »
hm, diese einfache Formel wäre schön, aber bei mir werden die Felder ja ursprünglich gefüllt mit den Werten von @UserName, also so:
@NameLookup([NoUpdate];@UserName;"InternetAddress")

Ein Refresh nimmt dann ja nicht die Werte aus txt_Name, sondern wieder von @Username. Dann müßte ich die ursprüngliche Formel ändern, aber wie wäre da die Syntax? Irgendwie so, aber das funktioniert nicht:
@NameLookup([NoUpdate];@(txt_Name);"InternetAddress")

Offline LN4ever

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 505
  • Geschlecht: Männlich
Re: Wie Script-Syntax für @NameLookup?
« Antwort #7 am: 07.09.06 - 19:55:03 »
Also, wenn in dem Feld txt_Name als Vorgabewert @Username steht, dann kannst du den berechneten weiteren Werten natürlich ein
@NameLookup([NoUpdate];txt_Name;"InternetAddress") mitgeben.

Das Feld txt_Name muß nur links oben von allen weiteren Feldern stehen, die sich mit dessen Inhalt bedienen. Die Felder müssen dann BERECHNET statt BERECHNET BEIM ANLEGEN werden - und das kostet Performance - und wenn der Benutzer ausgeschieden ist und nicht mehr im Directory steht, führt es zu unschönen Fehlern. Daher folgendes Vorgehen als Vorschlag.

Du machst alle Felder vom Typ BEARBEITBAR oder BERECHNET BEIM ANLEGEN und setzt neben dein Feld txt_NAME eine nur im Edit-Modus sichtbare Schaltfläche, mit der ein Name ausgewählt und alle Felder umgeschossen werden, wenn ein Name via @PICKLIST ausgelesen wird.

Vorhanden:=txt_Name
xname:=@Picklist([NAME]:[SINGLE]);
@If(xname="" | @IsError(xname);@Return("");NUL);
FIELD txt_Name:=xname;
FIELD txt_Internet:=@NameLookup([NoUpdate];xName;"InternetAddress");
...
Situs vilate in isse tabernit.

Offline FrankL

  • Frischling
  • *
  • Beiträge: 17
Re: Wie Script-Syntax für @NameLookup?
« Antwort #8 am: 08.09.06 - 10:54:13 »
Vielen Dank, aber das funktioniert beides nicht: Bei der oberen Formel werden dann die zu aktualisierenden Felder einfach geleert, wenn ich den unteren Code bei Exiting reinkopiere, wird alles rot dargestellt...

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz