Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet 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
-
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
-
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
-
Hallo Martin,
ein kleiner Tip:
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 ;)
-
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
-
ok habs jetzt doch über nen Button gelöst, is wohl die Sauberste Lösung...