Domino 9 und frühere Versionen > Administration & Userprobleme
In einer Ansicht suchen, ob Nummer schon vorhanden
Selin:
Hallo,
ich hab ein Problem. Ich bin erst seit kurzer Zeit in der Programmierung von Notes. Ich habe eine Ansicht mit zwei Spalten. Name und Doc-ID.
In meiner Maske hab ich das Feld Name. Dort habe ich auch "versucht" einen DBLookup reinzuschreiben in der Eingabevalidierung, der rüft, ob der Name schon vergeben ist, wenn ja dann soll er eine Meldung ausgeben. Allerdings lässt er trotzdem zu, dass ich ein Dokument unter einem anderen Namen wie ein bereits bestehendes Dokument speichern kann.
Bitte um Hilfe >:(
Wipe:
Hallo Selin,
habe diesen Lotus Script Code (Dank nochmal an Axel) als Seriennummerüberprüfung in einer HardwareDB eingebaut. Bau diesen Code in Deine Maske in den QuerySave Event. Erstelle Dir eine sortierte Ansicht mit dem zu durchsuchendem Feld.
Sub Querysave(Source As Notesuidocument, Continue As Variant)
Dim session As New NotesSession
Dim db As Notesdatabase
Dim view As NotesView
Dim doc As Notesdocument
Dim strValue As String
If Source.IsNewdoc Then
strValue = Source.FieldGetText("zu prüfender Feldname")
Set db = session.CurrentDatabase
Set view = db.GetView("sortierte Ansicht des Feldnamen")
Set doc = view.GetDocumentByKey(strValue, True)
If Not (doc Is Nothing) Then
Msgbox "Überprüfen Sie die Eingabe ",48,"Fehler: Dokument bereits vorhanden""
Continue = False
End If
End If
End Sub
Bei mir funzt das schön.
Gruss
Bubble
Selin:
Hi Bubble,
danke erst einmal für deine Antwort
also irgendwie funktioniert das nicht.
Sollen hier in die Gänsefüsschen, die Werte rein??
muss ich den Spaltennamen in der Ansicht in setview setzen oder den eigentlichen Inhaltsnamen???
strValue = Source.FieldGetText("zu prüfender Feldname")
Set view = db.GetView("sortierte Ansicht des Feldnamen")
Axel:
Hi,
hier das ganze für die Eingabevalidierung.
So muss die Formel in der Eingabevalidierung aussehen:
@If (@DbLookup("":"NoCache"; ""; "Ansichtname"; Feldname; 1 ) = Feldname; @Failure("Dokument bereits vorhanden"); @Success)
Die Werte für Ansichtname und Feldname musst du entsprechend anpassen. Wobei der Name der Ansicht in Anführungszeichen stehen muss und der Feldname nicht.
Die Ansicht muss in der ersten Spalte die Werte des Feldes enthalten und die Spalten muss sortiert sein.
Ich hoffe das hilft dir weiter.
Axel
Wipe:
Hallo,
laut Deiner Beschreibung heißt das Feld "Name" also
strValue = Source.FieldGetText("Name")
Neue sortierte Ansicht erstellen z.B. DocName
Spalte zeigt die Werte des Feldes Name z.B.
AAA
BBB
CCC
Set view = db.GetView("DocName")
Gruss
Bubble
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln