Das Notes Forum

Domino 9 und frühere Versionen => Administration & Userprobleme => Thema gestartet von: chakoe am 15.01.03 - 10:10:18

Titel: Programmierfragen DB´s
Beitrag von: chakoe am 15.01.03 - 10:10:18
Hallo,

wie kann ich bei einem Textfeld in einer Maske folgendes realisieren:

Die Eingabe eines Wertes in dieses Feld ist zwingen erfoderlich -> ansonsten Fehlermeldung

Die Eingabe eines Wertes in dieses Feld, wlcher schon in einem anderen Dokument in dieses Feld eingegeben wurde ist nicht möglich. Es handelt sich um eine Inventar-DB, und bei diesem Feld
speziell um die Serien-nummer, welche einfach ausgefüllt werden muss, und nicht doppelt vergeben werden darf.

Danke für die Hilfe

Sebastian Tewes
Titel: Re:Programmierfragen DB´s
Beitrag von: eknori am 15.01.03 - 10:23:15
für die Duplikate habe ich hier

http://eknori.dyndns.org/knowledge/devidea.nsf/Alpha/80FFB2C1196EAD088025682A002C6C3A?OpenDocument

was für dich
Titel: Re:Programmierfragen DB´s
Beitrag von: Axel am 15.01.03 - 10:24:29
Hi,

du kannst im QuerySave-Event prüfen ob das Feld Seriennummer leer ist.

...
If Source.Document.Seriennummer(0) = "" Then
  Messagebox "Es muß eine Seriennummer vergeben werden."
  Continue = False
  Exit Sub
End If
...

Die Prüfung ob es eine Seriennummer bereits gibt kannst du mit der Search-Methode aus der NotesDatabase-Klasse realisieren oder du nimmst die GetDocumentByKey-Methode aus der NotesView-Klasse. Dazu brauchst du allerdings noch eine Ansicht, die in der ersten Spalte nach der Seriennummer sortiert ist.
Das Ganze passiert auch im QuerySave-Event


...
Dim db As NotesDatabase
Dim session As New NotesSession
Dim view As NotesView

Set db = session.CurrentDatabase
Set view = db.GetView("Name der Ansicht")
Set tmpdoc = view.GetDocumentByKey(Source.Document.Seriennummer(0), True)
If Not (tmpdoc Is Nothing) Then
  Messagebox "Seriennummer ist nicht eindeutig"
  Continue = False
  Exit Sub
End If
...

Axel