Domino 9 und frühere Versionen > ND6: Entwicklung

Ansicht über Zeitraum einschränken

<< < (4/7) > >>

Andreas Huhn:
Hallo nochmal ihr beiden,

.. ich brauch immer ein wenig um das ganze umzusetzen und bei Bedarf nochmal ein wenig nachzulesen.

Was ich gemacht habe...

Zuerst habe ich in zwei Masken, die evtl. Dokumente erstellen die in die Auswertung aufgenommen werden sollen ein neues Feld namens "Datumsfeld" erstellt, vom Typ Text und "Berechnet beim Anlegen". Als Vorgabewert habe ich jeweils folgende Formel verwendet um das aktuelle Datum darin zu speichern: @Left(@Text(@Today);10)

Als nächstes habe ich einen neuen Ordner namens "oTest" erstellt, aus der Vorlage "leer".
Maskenformel hat er keine.
2 Spalten, die erste zeigt die Nummer in der Ansicht, die zweite ist auf den Namen "Freigabe" gestellt, der Name eines Feldes in einer der beiden Masken.

Diesen Ordner habe ich in eine Maske eingefügt (komischerweise tauchen Ordner unter erstellen ->eingebettetes Element -> Ansicht auf). Darüber einen Hotspot mit folgendem Code:


Sub Click(Source As Button)
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim collection As NotesDocumentCollection
   Dim strSearchFormula As String
   
   strSearchFormula = {SELECT Datumsfeld > @TextToTime("21.12.2005") & Datumsfeld < @TextTotime("22.12.2005")}
   Set db = session.CurrentDatabase
   Set collection = db.Search(strSearchFormula, Nothing,0)
   
   Call collection.PutAllInFolder( "oTest" , True)
End Sub



Dann habe ich mit einer der beiden Masken (die welche das Feld "Freigabe" enthält) ein neues Dokument gestellt und in der db gespeichert. Dann habe ich auf meinen Hotspot geklickt. Jedoch passiert nichts. Keine Fehlermeldung, kein Dokument das plötzlich im eingebetteten Ordner sichtbar wird.

Hab versucht das möglichst genau zu beschreiben, was ich getan hab, damit ihr seht an welcher Stelle ich den Bock geschossen hab.

Gruß,

Andreas

koehlerbv:
Ob überhaupt was passiert, kannst Du mit
Messagebox collection.Count
überprüfen.

Weiters: Deine Bedingung kann nicht erfüllt werden: Der 21.12.2005 (wenn das in Deinem Datumsfeld steht) kann nicht grösser sein als der 21.12.2005.

Bernhard

Andreas Huhn:
Du hast recht, allein vom Datum her konnte das schon nicht funktionieren.

Weiter hab ich noch gemerkt. Die Maske die das Dokument erstellt ist von Typ Antwort. Deswegen hab ich jetzt in den Eigenschaften des Ordners den Haken vor "Antwortdokumente hierarchisch anzeigen" entfernt.

Außerdem hab ich jetzt das Feld "Datumsfeld" von Typ Text auf den Typ Datum/Zeit umgestellt.

..und siehe da... die Messagebox collection.count wirft jetzt eine 1 aus. Im eingebetteten Order in der Maske taucht leider kein Dokument auf. Ist da noch ein Fehler drin?




Sub Click(Source As Button)
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim collection As NotesDocumentCollection
   Dim strSearchFormula As String
   
   strSearchFormula = {SELECT Datumsfeld > @TextToTime("20.12.2005") & Datumsfeld < @TextTotime("22.12.2005")}
   Set db = session.CurrentDatabase
   Set collection = db.Search(strSearchFormula, Nothing,0)
   
   Call collection.PutAllInFolder( "oTest" , True)
   Messagebox collection.Count
End Sub

Andreas Huhn:
Okay, hab herausgefunden daß der Ordner nicht aktualisiert wird. Das Dokument wird eingefügt, aber erst angezeigt wenn ich die Maske schließe und neu öffne.

Auch ein @command([refresh]) oder reloadwindow funktionieren nicht. Ein Druck auf F9 komischerweise schon.

Was ich also jetzt noch bräuchte wäre daß die Dokumente im Ordner gleich angezeigt werden und daß bei einer Anfrage nach einem anderen Zeitraum die bestehenden Doks aus dem Ordner gelöscht werden (ohne sie aus der db zu löschen) und mit den neuen Suchtreffern gefüllt wird. Ich weiß aber gar nicht ob dies möglich ist...

ghost:
Hallo,

bei einer neuen Suche, solltest Du die im Folder befindlichen Dokumente erst mit

Call notesViewEntryCollection.RemoveAllFromFolder( foldername$ )

aus dem Folder entfernen.

Viele Grüße
ghost

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln