Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Raul am 14.05.03 - 10:03:04
-
Hallo All...
wie stelle ich es an damit Doc´s nicht doppellt eingegeben werden können?? zb. Geräte Namen.
Das Feld Gerätename darf nur einmal mit dem wert 4711 möglich sein sonst meldung.
Geht dies mit DBColumn? und @prompt?
Danke im voraus
MfG Dubbai
-
das mußt du mit 'nem skript abfangen. beim speichern des dokumentes über ne (All)-Ansicht drüberrauschen und miteinander vergleichen
-
mit Formel geht das auch.
Ein Feld, berechnet:
var_suche:=@dblookup("":"NoCache";"";"View";Feld_Gerätename;2);
var_check:=@if(iserror(var_suche);"Nix";"Doppelt");
Field Abbruch:=var_check;
In das Feld Abbruch, bearbeitbar, hidden, kommt ne Validierungsformel rein=
@if(Field_Abbruch="Doppelt";@failure("Achtung, Halt, Fehler, Feuer, Verlassen Sie umgehend das Gebäude!!!!");@success)
-
Hi...
hui mit Script kenne ich mich nicht aus...wo kann man sich sowas mal anschauen..hast du da mal ne Tip?
MfG Raul
-
Und jetzt kommt das Garschtige an der Sache. Du kannst dich nicht 100% drauf verlassen, das es funktioniert.
-
Hi,
ganz grob könnte das in Script so aussehen:
Gesucht wird in der Ansicht All nach dem Inhalt des Feldes Geraetename. Die Ansicht All muß in der ersten Spalte die Werte des Feldes Geraetename anzeigen und muß sortiert sein.
Dim session As New NotesSession
Dim workspace As New NotesUIWorkspace
Dim db As NotesDatabase
Dim view As NotesView
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim tmpdoc As NotesDocument
Set uidoc = workspace.CurrentDocument
Set doc = uidoc.Document
Set db = session.CurrentDatabase
Set view = db.GetView( "All" ) 'Name der Ansicht mit allen Dokumenten
Set tmpdoc = view.GetDocumentByKey( doc.Geraetename(0) )
If tmpdoc Is Nothing Then
'Gerät noch nicht vorhanden
Else
'Gerät bereits in der Datenbank vorhanden
End If
Axel
-
Thx Raul
-
Hi...
wenn ich ein bestehendes Document edietiere und verändere kann ich es nicht speicher...dies sollte möglich sein.
Habe ich irgendwas falsch gemacht???
Gruss Raul ???
-
Hi,
du mußt noch eine Abfrage einbauen, ob es sich um ein neues oder bestehendes Dokument handelt.
Versuch's mal so:
Dim session As New NotesSession
Dim workspace As New NotesUIWorkspace
Dim db As NotesDatabase
Dim view As NotesView
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim tmpdoc As NotesDocument
Set uidoc = workspace.CurrentDocument
Set doc = uidoc.Document
Set db = session.CurrentDatabase
Set view = db.GetView( "All" ) 'Name der Ansicht mit allen Dokumenten
If doc.IsNewNote Then 'Prüfung auf doppelte Dokumente nur wenn Dokument neu
Set tmpdoc = view.GetDocumentByKey( doc.Geraetename(0) )
If tmpdoc Is Nothing Then
'Gerät noch nicht vorhanden
Else
'Gerät bereits in der Datenbank vorhanden
End If
End If
Axel