Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Freshmeat am 06.03.08 - 14:39:22

Titel: Per eingabevalidierung einen Wert in ein anderes Feld schreiben
Beitrag von: Freshmeat am 06.03.08 - 14:39:22
Hallo alle Zusammen,

kurz über mich: Ich heise Martin und Programiere gerne in Notes, hab das aber nie proffesionell gelernt sondern immer nur so nebenbei gemacht, Mit hilfe dieses Forums bin ich in den Letzten tagen auch weiter gekommen aber nun steh ich vor einem Problem für das mir keine Lösung einfallen will:

Ich lese via DbColumn Namen aus der Names.nsf auf dem server aus, der Nutzer soll dann einen Namen aus der Liste auswählen und wenn das passiert ist soll via eingabevalidierung die entsprechende Telefonummer in das Feld Telefon geschrieben werden...
meine Idee sieht so aus:

@If(Abgabefür="bitte Namen auswählen";@Failure("Bitte Person eintragen");@Success);
FIELD Telefon:=Telefon;
@Setfield("Telefon";@DbLookup("NOTES":"NoCache";"soheistderserver":"names.nsf";"Personen";Abgabefür ;2));
@Success


Es ist leider nicht möglich den wert über die Eingabumsetzung zu schreiben da es auch funktionieren soll dass der Nutzer eine Telefonummer selbst einträgt (was ja in diesem Fall nicht funktionieren würde weil sie immer wieder mit dem wert aus der names.nsf überschrieben werden würde)

habt ihr ne Idee wie ich die Telefonummer ind das Feld bekommen ohne dafür einen extra button bereitstellen zu müssen und mit der möglichkeit die Nummer zu verändern??

Danke!
FM
Titel: Re: Per eingabevalidierung einen Wert in ein anderes Feld schreiben
Beitrag von: Axel am 06.03.08 - 15:00:50
Dann prüf' doch vorher ab, ob schon eine Telefonnummer eingegeben wurde. Wenn das Feld leer ist, dann füge die aus dem Adressbuch ein.

...
@If(Telefon = ""; @Setfield("Telefon";@DbLookup("NOTES":"NoCache";"soheistderserver":"names.nsf";"Personen";Abgabefür ;2));"");
...


Axel

Titel: Re: Per eingabevalidierung einen Wert in ein anderes Feld schreiben
Beitrag von: koehlerbv am 06.03.08 - 15:09:08
Willkommen im Forum, Frischfleisch - äh, Martin.

Input validation bedeutet Vollautomatisierung. Ich würde das in diesem Zusammenhang meinen Usern nicht anbieten (sondern einen kleinen Button neben das Auswahlfeld setzen), aber das sei dahingestellt.

Wenn man dennoch über die input validation gehen und dabei eine bereits eingetragene Telefonnummern nicht überschreiben möchte, hilft ein Abbruch des Codes, wenn das Feld bereits gefüllt ist:
@If (Telefon != ""; @Return (""); "");
Dann folgt Dein weiterer Code.

HTH,
Bernhard
Titel: Re: Per eingabevalidierung einen Wert in ein anderes Feld schreiben
Beitrag von: ata am 07.03.08 - 11:38:09
Hallo Martin,

ein kleiner Tip:

Zitat
Ich lese via DbColumn Namen aus der Names.nsf auf dem server aus, der Nutzer soll dann einen Namen aus der Liste auswählen

Da solltest du einen Augenmerk darauf haben, den DBColumn können nicht beliebig viele Personen zurückgeben. In einem solchen Fall wäre es besser mit @PickList zu arbeiten - ist auch performanter...

Toni  ;)
Titel: Re: Per eingabevalidierung einen Wert in ein anderes Feld schreiben
Beitrag von: Freshmeat am 10.03.08 - 09:19:59
so da bin ich wieder.... musste mal 3 tage überstunden abbauen....

erstmal vielen vielen dank für eure schnelle Hilfe!

@Axel:
Diese variante funktioniert aus irgendeinem grund nicht weil der Vert einfach nicht in mein Feld Telefon geschrieben wird, wobei der code ja korreekt sein müsste oder??

@Bernhard
Ein Button ist nicht möglich weil dieser eine beschrifftung /beschreibung erfordert, die DB soll aber vom endnutzer gefüllt werden und deshalb soll so viel wie möglich automatisch passieren

was wahrscheinlich bis jetzt undeutlich war:
Ich möchte die Eingabevalidierung des  Feldes "Name" nutzen, soll heisen:
Der nutzer wählt seinen Namen aus einer Dialogliste die via DBColumn gefüllt ist (die soll so sein weil der nutzer auch aufträge im namen anderer Personen Ablegen können soll) und wenn es zu dem namen eine Telefonnummer gibt soll diese Automatishc ins Feld Telefon eingetragen werden, also hab ich bis jetzt immer versucht die Eingabevalidierung von "Name" zu nutzen denn im idealfall muss der Nutzer das feld Telefon gar nicht anklicken weil ja seine Nummer schon drinne steht, er soll aber auch die Möglichkeit haben diese nummer zu ändern was ja bei  einer einhabeumsetzung nicht funktioniert weil diese ja immer wieder die Telefonnummer zurückschreibt (selbst wenn ich ein @If (Telefon != ""; @Return (""); ""); davor setzte)

hoffe ich habe mich etwas deutlicher ausgedrückt...

@toni: wie @picklist arbeitet werd  ich jetzt nachschlagen... kannt ich noch nicht!


@all
VIELEN DANK
 
Titel: Re: Per eingabevalidierung einen Wert in ein anderes Feld schreiben
Beitrag von: Freshmeat am 12.03.08 - 09:47:30
ok habs jetzt doch über nen Button gelöst, is wohl die Sauberste Lösung...