Domino 9 und frühere Versionen > Entwicklung

Cursorpositionen in einer View !

<< < (3/3)

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