Domino 9 und frühere Versionen > Entwicklung

@Unique in Skript

(1/2) > >>

Don Pasquale:
Hallo Leute,

ich möchte, das Werte in einem bestimmten Feld (DOC_ID) eindeutig sind.
Dazu habe ich eine View sortiert nach diesem Wert eingerichtet.
Die Doc_ID ist ein String der Länge 32

Leider liefert meine Funktion immer 0 zurück.
Wo ist mein Denkfehler ?

Ciao

Don Pasquale

Function DoesDOC_IDexists(DOC_ID As String) As Integer
   
Dim VIEW_BY_DOC_ID As String
VIEW_BY_DOC_ID   = "DOC_ID"
Dim Anzahl As Integer
Dim session As New NotesSession    
Set db = session.CurrentDatabase
Set view = db.GetView(VIEW_BY_DOC_ID)
Set dc = view.GetAllDocumentsByKey(DOC_ID, True)
   
Print DOC_ID
ANZAHL = dc.Count
   
If ANZAHL = 0 Then
 DoesDOC_IDexists = 0
Else
 DoesDOC_IDexists = 1
End If
End Function

Don Pasquale:
Könnte daran liegen dass der Key nicht definiert ist.
Dennoch arbeitet die Funtkion nicht einwandfrei,
wie gut ist denn das GetDocumentsbyKey ?
Die funktion liefert 131 mal false zurück statt 274 mal ?
Gibt es da Bugs ?
pascal

ata:
... du übergibst im Kopf der Funktion Doc_ID - wie ziehst du dir den Wert - mit doc.UniversalID oder mit uidoc.GetFieldText("Doc_ID") ?

ata

forrest g:
... da fehlt erstmal folgendes...
dim dc as notesdocumentcollection

die suchfunktion sucht nach dem String "Doc_ID"

du musst das ändern in:
Set dc = view.GetAllDocumentsByKey(DOC_ID, True)

ata:
@forrest_g

... korrekt... *blinzel*

ata

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln