Autor Thema: Programmierfragen DB´s  (Gelesen 962 mal)

Offline chakoe

  • Aktives Mitglied
  • ***
  • Beiträge: 133
  • Geschlecht: Männlich
Programmierfragen DB´s
« 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
Kopf hoch, es kann nicht immer regnen

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re:Programmierfragen DB´s
« Antwort #1 am: 15.01.03 - 10:23:15 »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Programmierfragen DB´s
« Antwort #2 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
Ohne Computer wären wir noch lange nicht hinterm Mond!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz