Autor Thema: Anzahl Docs anzeigen in einer Form  (Gelesen 1733 mal)

Offline adminnaddel

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 819
  • Geschlecht: Männlich
  • What a wonderful girl, so beautiful und se....;-)
Anzahl Docs anzeigen in einer Form
« 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

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Anzahl Docs anzeigen in einer Form
« Antwort #1 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

Offline adminnaddel

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 819
  • Geschlecht: Männlich
  • What a wonderful girl, so beautiful und se....;-)
Re:Anzahl Docs anzeigen in einer Form
« Antwort #2 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


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Anzahl Docs anzeigen in einer Form
« Antwort #3 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

Offline adminnaddel

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 819
  • Geschlecht: Männlich
  • What a wonderful girl, so beautiful und se....;-)
Re:Anzahl Docs anzeigen in einer Form
« Antwort #4 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

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Anzahl Docs anzeigen in einer Form
« Antwort #5 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

Offline Tina

  • Junior Mitglied
  • **
  • Beiträge: 63
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Re:Anzahl Docs anzeigen in einer Form
« Antwort #6 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.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz