Autor Thema: Wie zähle ich am besten Dokumente einer View?  (Gelesen 10231 mal)

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Wie zähle ich am besten Dokumente einer View?
« Antwort #20 am: 12.01.11 - 16:33:37 »
Kann es sein, dass in den Dokumenten eine Seitenanzahl steht und Dein PHP-Script die Seiten addiert? Bei den LotusScript-Routinen zählst Du nur die Log-Dokumente.

Wenn das so ist, würde ich mit db.Search alle relevanten Dokumente suchen und denn mit NotesDocumentCollection.GetFirstDocument und .GetNextDocument alle Dokumente durchgehen und die Seitenzahlen addieren.

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Wie zähle ich am besten Dokumente einer View?
« Antwort #21 am: 13.01.11 - 06:49:23 »
Probier mal

Set col = db.Search ({Form = "FaxForm" & @Date (StartTime) = @Today}, Nothing, 0)

falls StartTime in jedem Dokument vom Typ Datum ist, oder

Set col = db.Search ({Form = "FaxForm" & @Date (@TextToTime (StartTime)) = @Today}, Nothing, 0)

falls StartTime in einigen/allen Dokumenten vom Typ Text ist.

Eventuell wird auch der Maskenname nicht immer korrekt geschrieben, was Groß-Kleinschreibung angeht. Ich verwende gerne @LowerCase (Form) = "faxform", da bin ich auf der sicheren Seite.


Offline schroederk

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.924
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Wie zähle ich am besten Dokumente einer View?
« Antwort #22 am: 13.01.11 - 08:15:39 »
Im Fall 1 erwartest Du als StartTime einenString, im zweiten einen Datums-/Zeitwert.
Meinem (wohl fehlerhaftem Verständnis nach) lese ich mit GetItemValue( "StartTime" )(0) den Wert als String aus.
Den Wert mit Print ausgegeben zeigte mir zumindest einen korrekten Eintrag an.

Weiters: Wie ist StartTime überhaupt abgelegt? Als reiner Datums- / oder als Datums-/Zeitwert oder gar gemischt? Denn 12.01.2011 16:31 ist nicht gleich Today (12.01.2011)!
Starttime ist Datum/Zeitwert. Dadurch hätten doch Starttime und Today eigentlich nie eine Übereinstimmung finden dürfen. Dennoch kam die Funktion auf die selbe Anzahl wie oben mit dem fehlerhaften String (und zwar 60 und nicht 0)

Zum ersten LS-Code: Du gehst hier ganz dumpf per Schleife durch alle Dokumente in der Ansicht - das ist natürlich sehr langsam (in Bezug auf NotesDatabase.Search sind das also wieder Äpfel und Birnen, die Du da vergleichst). Siehe hierzu mein letztes Posting!
Inwiefern das Äpfel mit Birnen vergleichen ist, verstehe ich nicht. Beide Script-Teile sollen die selben Dokumente zählen. Beide brauchen dafür Zeit. Und diese Zeit vergleiche ich.


Probier mal
Set col = db.Search ({Form = "FaxForm" & @Date (StartTime) = @Today}, Nothing, 0)
Diese Suche funktioniert jetzt einwandfrei :D


Ich werd aber in jedem Fall auch noch das Beispiel von eknori versuchen. Das scheint mir im Moment am performantesten.  ;)

Ich wäre ja gerne weniger egoistisch, aber was hab ich davon?

Offline schroederk

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.924
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Wie zähle ich am besten Dokumente einer View?
« Antwort #23 am: 13.01.11 - 13:41:19 »
Ich habe letzlich die Lösungsidee von eknori verwendet.
Funktioniert tadellos und ist auch die schnellste Lösung.

Vielen Dank für die Hinweise, Anmerkungen und Unterstützung 
Ich wäre ja gerne weniger egoistisch, aber was hab ich davon?

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz