Domino 9 und frühere Versionen > Administration & Userprobleme

In einer Ansicht suchen, ob Nummer schon vorhanden

(1/4) > >>

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