Domino 9 und frühere Versionen > ND6: Entwicklung

während Eingabe überprüfen, ob Wert bereits in der DB vorhanden ist

(1/4) > >>

alexbeer:
Hallo,

ich bastel gerade an einer Datenbank, in die Job-Kandidaten aus den großen Jobbörsen im Internet eingefügt werden sollen.
Normalerweise wird dabei der Name im Format "Vorname Nachname" per Copy & Paste aus der Webseite in das Formular eingefügt. In die Datenbank soll möglichst aber jeder Kandidat nur einmal - damit der Recruiter sich nicht diverse Kandidaten mehrfach angucken muss.

Ich habe hierzu schon mehrfach im Forum gesucht und vor einigen Tagen einen Thread bzgl phonetischer Suche gefunden - das geht mir aber alles zuweit. Mir reicht es vollkommen aus, wenn in der DB geschaut wird, ob der String "Vorname Nachname" schon genau so in der DB vorhanden ist.
Mehr als eine Meldung o.ä. soll nicht erfolgen, da dem jenigen, der diesen Kandidaten in die DB eingibt überlassen werden soll, ob er die Eingabe abbricht oder auch nicht. (Grund: manche Kandidaten sind als "Confidential" gekennzeichnet, da greift das Lookup ja dann ja auf jeden Fall).

Im Grunde genommen habe ich es so aufgebaut wie in dem Thread (http://atnotes.de/index.php?topic=24865.0) diskutiert. Allerdings greift dieses Lookup ja beim Klicken auf eine Action.
Ich würde das gerne in das Exit-Event meines Namensfeldes einfügen. Aber da geht ja "nur" LS.
Bin ja schon froh, dass ich nach langer Zeit überhaupt wieder mit den @Functions zurecht komme. Mit LS habe ich leider gar nix am Hut.   ;) Oder gibt es eine andere Möglichkeit, wie der User direkt nach der Eingabe des "Vornamen Nachnamen" eine Systemmeldung erhält, wenn dieser String bereits in der DB vorhanden ist.

P.S.
Bei der Uhrzeit nicht wundern - bin derzeit in den USA - kann daher auch etwas mit dem Antworten dauern


Axel:
Das bei der Eingabe zu prüfen wird schwierig bis unmöglich. Den Exiting - Event würde ich auch nicht empfehlen, da er nicht immer ausgeführt wird.

Eine zuverlässige Prüfung funktioniert erst beim Speichern des Dokumentes. Eine entsprechende Formel zur Prüfung kannst du in der Eingabevalidierung des Feldes oder im QuerySave-Event der Maske einfügen.


Axel

smoki:
Hallo!

Ein Lotus Script für Exit sieht dann ungefähr folgendermaßen aus (ungestestet!):

Dim s as new NotesSession
dim w as new NotesUiWorkspace
dim db as NotesDatabase
dim refdoc as NotesDocument
dim v as NotesView
dim uidoc as NotesUiDocument
set uidoc = w.CurrentDocument
set db = s.CurrentDatabase
set v = db.GetView("(LU Aktien)")
fieldentry = uidoc.FieldGetText("Kundennr")
set refdoc = v.GetDocumentByKey(fieldentry,true)
if (refdoc is nothing) then
    msgbox "Error!"
    exit sub
end if
fieldvalue = doc.GetItemValue(" // your field name // ").text
uidoc.FieldSetText("tmpAktenort",fieldvalue)
...

Das Problem ist, dass ein User trotz dem Exiting das Dokument speichern kann, daher benötigst du diese Sache dann auch im QuerySave.

Die Lösung mit dem Button ist daher ggf. sogar besser!?

Gruss
Chris

Axel:

--- Zitat von: smoki am 18.05.06 - 08:36:45 ---Die Lösung mit dem Button ist daher ggf. sogar besser!?

--- Ende Zitat ---

Damit lässt sich das Dokument aber auch speichern.

Das Script muss ins QuerySave-Event.

Das Ganze könnte dann beispw. so aussehen:

...
Dim s as new NotesSession
dim w as new NotesUiWorkspace
dim db as NotesDatabase
dim refdoc as NotesDocument
dim v as NotesView
dim uidoc as NotesUiDocument

set uidoc = w.CurrentDocument
set db = s.CurrentDatabase
set v = db.GetView("(LU Aktien)")
fieldentry = uidoc.FieldGetText("Kundennr")
set refdoc = v.GetDocumentByKey(fieldentry,true)
if Not (refdoc is nothing) then
  Msgbox "Name gibt's schon"
  Continue = False
  Exit Sub
End If
...


Axel

MadMetzger:
So wie ich die Frage verstanden habe, soll nur ein Hinweis erfolgen und der Anwender muss dann entscheiden was er tut. Von daher würde sich schon die Eingabevalidierung anbieten, meiner Meinung nach.

Also etwa so:

If ( String schon vorhanden? ;
      @If(Prompt("Irgendwas mit Wahlmöglichkeit");JA_Reaktion;NEIN_Reaktion );
      Success )

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln