Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Darkface am 21.10.02 - 13:20:52

Titel: Eingabe des Benutzers abfangen
Beitrag von: Darkface am 21.10.02 - 13:20:52
Hallo zusammen,
ich habe folgendes Problem:
Ein Benutzer soll in einer Dialogbox einen Namen und einen Vornamen eingeben, das Script was dahinter steckt soll aús einer View überprüfen ob der Name schon vorhanden ist. gibt es da eine nette Lösung?

Danke schonmal.

Gruß
  Darkface
Titel: Re:Eingabe des Benutzers abfangen
Beitrag von: Till_21 am 21.10.02 - 13:48:06
GetDocumentByKey method  

warum nimmst du keine dialogbox(mit dahinterliegendem lookup) zum Auswählen einer Person ?!?

Gruss, till
Titel: Re:Eingabe des Benutzers abfangen
Beitrag von: Don Pasquale am 21.10.02 - 13:50:22
Hi Darkface,

ich würde in das Exiting Ereignis des Feldes eine Abfrage einbauen.


ciao
Don Pasquale
Titel: Re:Eingabe des Benutzers abfangen
Beitrag von: Darkface am 21.10.02 - 14:13:03
Gibt es da nicht irgendeine If lösung ich lasse mir alle docs in einer Schleife durchgehen und will dann überprüfen. Falls der eintrag vorhanden ist, dann soll er aus der Schleife springen.
Kann ich das auch direkt bei der Eingabe in der Dialogbox überprüfen? Das wäre natürlich super, aber ich wüsste nicht wie.

Gruß
  Darkface
Titel: Re:Eingabe des Benutzers abfangen
Beitrag von: Don Pasquale am 21.10.02 - 15:02:00
Hi Darkface,

mit If Lösung vermute ich eine @Formel Lösung,
sorry mit Formel bin ich nicht bewandert.


Aber Probier´s mal damit :

In das Exiting Ereignis des Feldes folgendes Script

Code
   Dim Session As New NotesSession
   Dim ws As New NotesUIWorkspace   
   Dim uidoc As NotesUIDocument   
   Dim doc As NotesDocument   
   Set uidoc = ws.CurrentDocument   
   Set doc = uidoc.Document   
   Dim dc As NotesDocumentCollection
   Dim key As String
   
   Set db = session.CurrentDatabase   
   key = uidoc.FieldGetText("DeinFeldName")
   Set view = db.GetView("DeineAnsichtName")       
   Set dc = view.GetAllDocumentsByKey(key, False)
   If dc.Count > 1 Then
      Messagebox ("Der Eintrag existiert bereits")
   Continue = False
   End If



Allerdings, und dass ist das entscheidende, der Nutzer bekommt nur die Meldung, dass der Eintrag bereits existiert, aber MEHR NICHT,
dass heisst die flasche Eingabe wird akzeptiert.
Da sollte man sich noch etwas ausdenken

Ach ja, und "DeineAnsichtName" sollte in der ersten Spalte nach DeinFeldName sortiert sein
Ciao

Don Pasquale
Titel: Re:Eingabe des Benutzers abfangen
Beitrag von: Darkface am 22.10.02 - 08:26:53
Danke Don Pasquale, aber ich habe die Sache nun mit einer Formel geschafft.

Aber danke für die mühe.
Code
@If(DName = "";
@Failure("Bitte eine Namen angeben!");
@If(@IsMember(DName; @DbColumn("":"NoCache";"";"(Namen)"; 1)); @Failure("Dieser Name wurde bereits angelegt!"); @Success))

Gruß
 Darkface