Autor Thema: Sortierung nach Datum fehlerhaft  (Gelesen 3013 mal)

Offline Piranha

  • Frischling
  • *
  • Beiträge: 2
Sortierung nach Datum fehlerhaft
« am: 03.02.09 - 10:14:32 »
Das u.a. Script nimmt aus einer Ansicht das älteste Dokument und aktualisiert das Datum im Feld "fld_Zitat_Datum" auf das Datum des neuesten Dokuments + 1. Somit sollte das nun aktualisierte Dokument (eigentlich) an erster Stelle stehen, da die Ansicht nach diesem Datum sortiert.

Das Dokument landet jedoch immer an zweiter Stelle. Sowohl eine Index-Aktualisierung als auch
Code
@Command([ToolsRefreshSelectedDocs])
bringen keinen Erfolg.

Für etwas Hilfe wäre ich dankbar.

Hier mal das Script:

Code
Sub Initialize
	
	Dim oSession As New NotesSession
	Dim oWorkspace As New NotesUIWorkspace
	Dim oDb As NotesDatabase
	Dim oView As NotesView
	Dim oDocFirst As NotesDocument	'Erstes Dokument der Ansicht
	Dim oDocLast As NotesDocument	'Letztes Dokument der Ansicht
	Dim vReturn As Variant			
	Dim vNewDate As Variant
	
	Set oDb = oSession.CurrentDatabase
	Set oView = oDb.GetView("vwZitateall")
	Set oDocFirst = oView.GetFirstDocument
	
	vReturn = oDocFirst.GetItemValue("fld_Zitat_Datum")
	vNewDate = vReturn(0)+1
	
	Set oDocLast = oView.GetLastDocument

	Call oDocLast.ReplaceItemValue("fld_Zitat_Datum",vNewDate)
	Call oDocLast.Save(True,False,False)

	Call oView.Refresh
	Call oWorkspace.ViewRefresh
	
End Sub

Interessant ist, dass es mit +2 keine Probleme gibt. Dann habe ich zwar ein Dokument, was zwei Tage vor dem aktuellen Dokument liegt, allerdings fehlt mir dann natürlich das Dokument dazwischen.

Gruß
Ronny
« Letzte Änderung: 05.02.09 - 13:57:44 von Piranha »

Driri

  • Gast
Re: Sortierung nach Datum fehlerhaft
« Antwort #1 am: 06.02.09 - 08:18:49 »
Ich habe das mal nachgestellt. Das Problem scheint zu sein, daß beim Speichern aus dem Datum ein Datum/Zeit-Wert wird. Irgendwie gerät da die Sortierung durcheinander.

Versuch mal mit NotesDateTime zu arbeiten, z.B. so :

Zitat
Dim oSession As New NotesSession
Dim oWorkspace As New NotesUIWorkspace
Dim oDb As NotesDatabase
Dim oView As NotesView
Dim oDocFirst As NotesDocument   'Erstes Dokument der Ansicht
Dim oDocLast As NotesDocument   'Letztes Dokument der Ansicht
Dim vDate As NotesDateTime

Set oDb = oSession.CurrentDatabase
Set oView = oDb.GetView("vwZitateall")
Set oDocFirst = oView.GetFirstDocument
   
Set vDate = New NotesDateTime(oDocFirst.GetItemValue("fld_Zitat_Datum")(0))
Call vDate.AdjustDay(1)
   
Set oDocLast = oView.GetLastDocument
   
Call oDocLast.ReplaceItemValue("Date1",vDate.DateOnly)
Call oDocLast.Save(True,False,False)
   
Call oView.Refresh
Call oWorkspace.ViewRefresh

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz