Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Don Pasquale am 11.02.03 - 13:55:20
-
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
-
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
-
... du übergibst im Kopf der Funktion Doc_ID - wie ziehst du dir den Wert - mit doc.UniversalID oder mit uidoc.GetFieldText("Doc_ID") ?
ata
-
... 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)
-
@forrest_g
... korrekt... *blinzel*
ata
-
@Forrrest g
Das mit dem
Set dc = view.GetAllDocumentsByKey(DOC_ID, True)
hatte ich auch schon gemerkt ,
ob das dim dc etwas ausmacht ?
Die DOC_ID ist NICHT die UniversalID.
Die Doc_ID hole ich aus einer SQL Datenbank mittels
DOC_ID = Cstr(Res.GetValue("DOC_ID"))
ciao
Don Pasquale
-
hallo don pasquale,
also der Suchwert(DOC_ID) ist doch in einem Feld gespeichert?
das hast du doch oben geschrieben...(?)
dann solltest du auch nach diesem wert suchen(egal, dass das nicht die unid ist) und nicht nach dem stringwert in deiner formel(VIEW_BY_DOC_ID = "DOC_ID")
ist die erste spalte der view sortiert?
-
@Forrest
Vielen Dank,
jetzt klappt´s
Ciao
Don Pasquale
-
hi don pasquale,
also das mit der anbindung an die sql-db kenne ich nicht genau...,
aber...
-deine view muss in der ersten spalte sortiert sein nach DOC_ID
-du muss mit nach dieser id suchen mit
Set dc = view.GetAllDocumentsByKey(DOC_ID, True)
... sag mal, hast du dein erstes posting bearbeitet...,
denn du hattest doch als suchwert VIEW_BY_DOC_ID eingetragen und das war ein string(VIEW_BY_DOC_ID = "DOC_ID"), der nicht gefunden werden konnte... (?!)