Domino 9 und frühere Versionen > Entwicklung
Cursorpositionen in einer View !
Performance:
also Gustav ein wenig denken schadet wohl niemandem oder ?
- ich habs mit meinem code nach deinen Vorgaben weiterentwickelt, falls mehrere doks das gleiche Datum haben gehst du über eine entrycollection
- weil diese entrycollectionview sortiert ist (deshalb arbeite ich gerne mit der entry collection und nicht mit einer doccollection)
brauchst du entweder den Anfang oder das Ende der collection
Sub Initialize
Dim ws As New NotesUIWorkspace
Dim s As New NotesSession
Dim vc As NotesViewEntryCollection
Dim entry As NotesViewEntry
Dim v As NotesView
Dim uiv As NotesUIView
Dim doc As NotesDocument
Dim www As String
Dim key As Integer
Dim docfound As Variant
Set uiv = ws.Currentview
Set v = uiv.view
docfound = False
key = 7 '''' Suchkriterium
Do While Not docfound
www = Cstr(key)
Set vc = v.GetAllEntriesByKey(www, True)
If (vc.count > 0) Then
''' Set entry = vc.GetLastEntry( ) ''' letzte in der collection
Set entry = vc.GetFirstEntry( ) ''' erste in der collection
Set doc = entry.Document
docfound = True
End If
If key = 1 Then ''''' Abbruch falls was schiefgeht
docfound = True
Exit Sub
End If
key = key - 1
Loop
Call uiv.SelectDocument(doc)
End Sub
cu
CarlGustav:
Zur Vollständigkeit:
Nach einigen Tagen Notesabstinenz hab ich nun den Code von Perfomance ein wenig angepaßt und das funzt nun super!
Nun kann man in einer View bei jedem öffnen der View (oder wenn man eine Aktion durchführt) einen Agenten starten, der folgenden Code ausführt und dann steht der Cursor immer beim aktuellen Datum, oder dem nächstgelegenen.
Danke an alle die geholfen haben!
CG
Sub Initialize
Dim whenNow As String
whenNow$ = Today()
Dim ws As New NotesUIWorkspace
Dim s As New NotesSession
Dim vc As NotesViewEntryCollection
Dim entry As NotesViewEntry
Dim v As NotesView
Dim uiv As NotesUIView
Dim doc As NotesDocument
Dim www As String
Dim key As String
Dim docfound As Variant
Set uiv = ws.Currentview
Set v = uiv.view
docfound = False
key = whenNow$ '''' Suchkriterium
Do While Not docfound
www = Cstr(key)
Set vc = v.GetAllEntriesByKey(Cdat(www), True)
If (vc.count > 0) Then
Set entry = vc.GetLastEntry( ) ''' letzte in der collection
Set doc = entry.Document
docfound = True
End If
key=Cdat(www)-1
'Msgbox key
Loop
Call uiv.SelectDocument(doc)
End Sub
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln