Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: adminnaddel am 04.05.04 - 14:07:22

Titel: Anzahl Docs anzeigen in einer Form
Beitrag 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
Titel: Re:Anzahl Docs anzeigen in einer Form
Beitrag von: koehlerbv am 04.05.04 - 14:24:50
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
Titel: Re:Anzahl Docs anzeigen in einer Form
Beitrag von: adminnaddel am 04.05.04 - 16:19:10
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

Titel: Re:Anzahl Docs anzeigen in einer Form
Beitrag von: koehlerbv am 04.05.04 - 16:24:03
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
Titel: Re:Anzahl Docs anzeigen in einer Form
Beitrag von: adminnaddel am 05.05.04 - 13:01:51
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
Titel: Re:Anzahl Docs anzeigen in einer Form
Beitrag von: koehlerbv am 05.05.04 - 13:16:25
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
Titel: Re:Anzahl Docs anzeigen in einer Form
Beitrag von: Tina am 05.05.04 - 13:19:48
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.