Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: adminnaddel am 04.05.04 - 14:07:22
-
Hallo liebe Gemeinde, lang nichts mehr von mir hören lassen ... (gesundheitliche Gründe) ... aber nun geht es wieder vorwärts!!
Zu meiner Frage:
Eine Framegruppe, links eine View und rechts eine Form mit einem Field "Statistik"
Die View beinhaltet mehrere Docs, die Anzahl der Docs möchte ich mir im Field der Form anziegen lassen!
Hierzu macht es vielleicht Sinn, das der Wert beim Aufruf der Db neu generiert wird, da sich ja die Anzahl erhöht haben könnte!!
Habe leider keinen Lösungsansatz ???
Vielen Dank
-
Im QueryOpen Deiner Form kannst Du das Feld belegen, in dem Du mit NotesDatabase.AllDocuments eine Collection bildest und Poperty Count verwendest.
Sowas könnte man auch ins PostRecalc einbauen - dann bewirkt jeder Refresh auch eine Neuberechnung der Anzahl der Dokumente in der DB.
HTH,
Bernhard
-
Tja, dann sage ich erstmal DANKE ....
aber hat mir das wirklich weitergeholfen? ;D
Ich dachte ich mache es mir mal einfach und binde in die Feldeigenschaften:
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim n As Integer
Set db = session.CurrentDatabase
Set collection = db.AllDocuments
n = collection.Count
End Sub
um so zumindestens ersteinmal einen Ansatz hinzubekommen!
Denkste, war nichts :-)
Viele Grüße
-
Nein, das wird nix.
Pack Deinen Code in QueryOpen und - wenn gewünscht - noch in PostRecalc.
n as integer würde ich nicht nehmen. Irgendwann übernimmst Du Deinen Code mal ungeprüft in eine DB mit mehr als 32k Dokumenten ;)
Bernhard
-
Vielen Dank! Habe es jetzt zunächst so gelöst:
Sub Postopen(Source As Notesuidocument)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim Stat_Bestand As Variant
Dim n As String
Set db = session.CurrentDatabase
Set collection = db.FTSearch("Server",10)
n = collection.Count
Call source.FieldSetText("Stat_Bestand", n)
End Sub
ABER ::) ... ich kriege jetzt die Anzahl der Docs die das Wort Server beinhalten! Ich würde das aber ganz gerne beschränken -> wenn das Feld "XYZ" den Wert "Server" enthält, dann will ich die Anzahl der Docs haben!
DANKE
-
Set collection = db.FTSearch({FIELD XYZ = "Server"},10)
Du bildest wie in der Frontend-Volltextsuche Deinen Suchstring auch in LS.
Ich weiss aber nicht, ob das gut ist mit dem FTI. Wäre es nicht performanter, wenn Du Dir eine Ansicht bastelst, die nur die interessierenden Docs enthält, und dann ermittelst Du deren Anzahl mit einer NotesVierwEntryCollection ?
Bernhard
-
Probiers mal damit:
formula = "XYZ = ""Server"""
Set dc = db.Search( formula$,"", 0 )
-> Jetzt enthält die dc alle docs in denen Feld XYZ = Server ist.