Autor Thema: Ansicht über Zeitraum einschränken  (Gelesen 8601 mal)

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: Ansicht über Zeitraum einschränken
« Antwort #20 am: 21.12.05 - 14:56:02 »
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...


Danke Ghost. Kurz vor deinem Posting hab ich ein entsprechendes Posting von Diali mittels Boardsuche gefunden. Mit:


   Set view = db.GetView("oIntervall")
   Set vc = view.AllEntries
   Call vc.RemoveAllFromFolder("oIntervall")


So lösche ich sie vorher. Das andere Problem schlägt auch hier zu: Das der Ordner wieder leer ist wird erst nach dem neu öffnen der Maske dargestellt, oder nach Druck auf F9.

Sendkeys {F9} am Ende des Scriptes verursacht einen Fehler.

Habt ihr noch eine Idee?

Offline ghost

  • Aktives Mitglied
  • ***
  • Beiträge: 174
  • Geschlecht: Männlich
  • Notes ist gut!
Re: Ansicht über Zeitraum einschränken
« Antwort #21 am: 21.12.05 - 15:34:29 »
Wenn @Command([ViewRefreshFields]) nicht hilft, dann fallen mir im Moment nur 2 weniger schöne Lösungen ein:

1. Schreib in die Maske, dass der User F9 drücken soll um das Ergebnis zu sehen.
2. Schließe das Dokument und öffne es dann gleich wieder. So muss man das auch machen, wenn sich ein RTF-Feld geändert hat. Schau dir dazu die EditDocument-Methode der Klasse NotesUIWorkspace an.

Viele Grüße
ghost

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: Ansicht über Zeitraum einschränken
« Antwort #22 am: 21.12.05 - 15:58:33 »
Danke Ghost, das wars! Hatte schon alle möglichen Refreshmethoden durch. Mit der ViewRefresh Methode von NotesuiWorkspace, dem Pendant zur Formel funktioniert die Aktualisierung jetzt.

... jetzt nur noch eine Sache und dann bin ich glücklich...

Ich hab jetzt zwei Felder vom Typ Datum/Zeit mit den Namen datVon und datBis erstellt um dort die Abfrage des Zeitintervalls variabel zu gestalten. Leider meldet er immer einen Fehler in der Abfrageformel...

Versucht hab ich es mit:
strSearchFormula = {SELECT Datumsfeld > @TextToTime( uidoc.datVon(0) ) & Datumsfeld < @TextTotime( uidoc.datBis(0) )}

und auch mit:
strSearchFormula = {SELECT Datumsfeld > @TextToTime( uidoc.FieldGetText("datVon") ) & Datumsfeld < @TextTotime( uidoc.FieldGetText("datBis") )}

aber leider kein Erfolg. Wie kann ich die Feldwerte variabel an die Abfrage übergeben?

Gruß,

Andreas

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: Ansicht über Zeitraum einschränken
« Antwort #23 am: 21.12.05 - 16:06:42 »
Hab den Unsinn gerade bemerkt. Bin ja auf Formelebene da is nix mit uidoc. Aber klappen tuts leider trotzdem noch nicht. Ich glaub es wird langsam zu spät für heut für mich. Hoffe es kann mir da noch einer drauf helfen.

Auch das funktioniert nicht:
strSearchFormula = {SELECT Datumsfeld > datVon & Datumsfeld < datBis}

Bis denn,

Andreas
« Letzte Änderung: 21.12.05 - 16:11:23 von Andreas Huhn »

Offline ghost

  • Aktives Mitglied
  • ***
  • Beiträge: 174
  • Geschlecht: Männlich
  • Notes ist gut!
Re: Ansicht über Zeitraum einschränken
« Antwort #24 am: 21.12.05 - 16:22:38 »
Was ist den in der Formel Datumsfeld? ist dies das Feld, das in den Dokumenten steht? Und datVon und datBis sind die Recherche einträge? Dann muss der String erst mal aufgebaut werden (Zur Kontrolle mit Msgbox ausgeben!).
In etwa so:

strSearchfromula = {SELECT Datumsfeld > [} & uidoc.fieldGetText("datVon") & {] & Datumsfeld < [} & uidoc.FieldgetText("datBis") & {]}

Die formel habe ich nicht getestet, bitte nochmal überprüfen.

Viele Grüße
ghost

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: Ansicht über Zeitraum einschränken
« Antwort #25 am: 22.12.05 - 07:35:13 »
Datumsfeld ist das Datum/Zeit-Feld in den Dokumenten, ja. Und datVon und datBis sind auch Datum/Zeit-Felder die das zu betrachtende Intervall definieren.

Die Formel funktioniert. Vielen Dank und schon mal ein frohes Weihnachtsfest! Euch allen!

Viele Grüße,

Andreas

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: Ansicht über Zeitraum einschränken
« Antwort #26 am: 22.12.05 - 12:56:41 »
Mein Ordner ist vom Ordnertyp "Gemeinsam". Das was ihr geschrieben hatte handelte von einem SPOFU Order, also shared private on first use, oder? Also die Auswahl "Gemeinsam, privat bei Erstbenutzung".

Sollte ich das noch umstellen? Oder wo liegen denn die Unterschiede?

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Ansicht über Zeitraum einschränken
« Antwort #27 am: 22.12.05 - 13:00:30 »
Sobald mehr als ein User darauf zugreift, musst Du das unbedingt umstellen!
Grund: Wenn er gemeinsam ist, können mehrere User gleichzeitig Dokumente in den Ordner verschieben, bzw. aus dem Ordner löschen. Du kannst so nie sagen ob die Resultate auch wirklich stimmen oder nicht.
Beim Spofu hat jeder user seinen eigenen Folder ( mit den bekannten Problemen)...
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: Ansicht über Zeitraum einschränken
« Antwort #28 am: 22.12.05 - 13:50:21 »
Gut, danke.

Kann es sein daß das ganze nur für Dokumente vom Typ Antwort funktioniert?

Hab ein Dokument mit einem Feld DDokument mit dem Datum drin und darunter zwei Antwortdokumente mit einem Feld ADokument ebenfalls mit Datum drin.

Das Datum ist jeweils das heutige, die Suche geht von "20.12.2005" bis "23.12.2005".

Die Suche nach ADokument liefert collection.count = 2 zurück,
die Suche nach DDokument connection.count = 0

Wie kann das sein?





Sub Click(Source As Button)
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim collection As NotesDocumentCollection
   Dim strSearchFormula As String
   Dim view As NotesView
   Dim vc As NotesViewEntryCollection
   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   
   Set uidoc = workspace.CurrentDocument
   
   Set db = session.CurrentDatabase
   
   Set view = db.GetView("(oProduktLinie)")
   Set vc = view.AllEntries
   Call vc.RemoveAllFromFolder("(oProduktLinie)")
   
   strSearchFormula = {SELECT DDatumsfeld > [} & uidoc.fieldGetText("datVon") & {] & DDatumsfeld < [} & uidoc.FieldgetText("datBis") & {]}
   
   Set collection = db.Search(strSearchFormula, Nothing,0)
   
   Call collection.PutAllInFolder( "(oProduktLinie)" , True)
   Msgbox collection.Count
   
   workspace.ViewRefresh
   
   
End Sub

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Ansicht über Zeitraum einschränken
« Antwort #29 am: 22.12.05 - 14:01:32 »
Kann es sein daß das ganze nur für Dokumente vom Typ Antwort funktioniert?

Nein.


Hab ein Dokument mit einem Feld DDokument mit dem Datum drin und darunter zwei Antwortdokumente mit einem Feld ADokument ebenfalls mit Datum drin.

Je nach dem wie du deinen Suchstring aufbaust werden die Dokumente gefunden.
Wenn du z.B. nach dem Feld DDokument suchst, werden nur Dokumente gefunden die, a) das Feld DDokument beinhalten und b) den entsprechenden Wert im Feld DDokument haben.

Alle anderen Dokumente bleiben außen vor. Wenn du nach allen Dokumenten suchen willst, dann müsste der Feldname in allen Dokumenten gleich sein, oder du müsstest deinen Suchstring aufbohren.



Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: Ansicht über Zeitraum einschränken
« Antwort #30 am: 22.12.05 - 14:09:21 »
Hab zwei Funktionen draus gemacht. Einmal mit einem Substring A... und einem mit D...

egal, ich schau nochmal ob nicht sonst noch Schreibfehler drin sind. Wenns auch Dokumente finden muß dann muß es an einem Flüchtigkeitsfehler liegen.


Was anderes nerviges: Sobald ich den Ordner auf Spofu umgestellt habe und das Spielchen vollziehe ( Ordnerinhalt löschen ... passende Doks suchen ... In den Ordner packen und anzeigen) seitdem komm nach dem Beenden der Maske und dem zurückwechseln auf das Designerfenster die Fehlermeldung Dokument wurde gelöscht . Und zwar zwei Mal, da ich jetzt zwei Ordner von Gemeinsam auf Gemeinsam, privat bei Erstbenutzung umgestellt habe. Müßte also was mit dem Typ des Ordners zu tun haben...

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: Ansicht über Zeitraum einschränken
« Antwort #31 am: 22.12.05 - 15:27:03 »
Vielleicht fällt einem dafür ja noch ein Grund ein. Ich mach für heut und bis über die Feiertage Schluß. Wünsch euch eine frohes Weihnachtsfest und einen guten Rutsch, Axel, Umi, Bernhard, Ulich, Ghost und auch alle andern!

Viele Grüße,

Andreas

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz