Hallo MariusZ...
... so schnell kannst Du gar nicht schauen, wie Deine Performance im Produktivbetrieb in den Keller gehen wird. Und dann gibts eins aufs Auge (von den Anwendern) ;)
Um das Problem zu umgehen, habe ich mir einen Agenten gebastelt, der mir jede Nacht in den Spalten- und Selektions-Formeln aller Ansichten die Variable "_varAct" sucht und diese mit dem aktuellen Datumswert belegt (Code siehe unten - Importiere das LS einfach in einen zeitgesteuerten Agenten, Ziel alle Dokumente, den Du täglich ablaufen lassen kannst).
Wenn Du dann in einer Spalte das Alter eines Dokuments in Tagen anzeigen willst, schreibe folgende Spaltenformel:
_varAct:=@ToTime("24.04.2008");
@ToNumber(_varAct-@created)/86400
Hier @Abs zu nehmen ist natürlich @absoluter Unsinn, wie Bernhard schon richtig bemerkt hat ;D
Die erste Zeile mit der Variable bitte genau so in die Spalten- oder Selektionsformel schreiben!
Hier also der Code für den Agenten:
Option Public
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
'Name der Variablen für den Datumswert in den Views
varActStr$="_varAct"
datStrStart%=Len(varActStr$)+12
k=0
m=0
Set db = session.CurrentDatabase
views = db.Views
On Error Resume Next
Forall v In views
Print "Lese " & v.Name & " - Selection Formula"
org_formula$=v.SelectionFormula
If Left(org_formula$, Len(varActStr$)) = varActStr$ Then
k=k+1
Print "Aktualisiere " & v.Name & " - Selection Formula"
org_formula$=v.SelectionFormula
org_dat$= Mid(org_formula$,datStrStart%,10)
new_dat$=Format(Now(),"dd.mm.yyyy")
new_formula$=Replace(org_formula$,org_dat$,new_dat$)
v.SelectionFormula=new_formula$
End If
i=0
Forall vc In v.Columns
i=i+1
Print "Lese " & v.Name & " - Spalte Nr. " & Cstr(i)
org_formula$=vc.Formula
If Left(org_formula$, Len(varActStr$)) = varActStr$ Then
m=m+1
Print "Aktualisiere " & v.Name & " - Spalte Nr. " & Cstr(i)
org_formula$=vc.Formula
org_dat$= Mid(org_formula$,datStrStart%,10)
new_dat$=Format(Now(),"dd.mm.yyyy")
new_formula$=Replace(org_formula$,org_dat$,new_dat$)
vc.Formula=new_formula$
End If
End Forall
End Forall
Print Cstr(k) & " Selection Formulas, " & Cstr(m) & " Column Formulas aktualisiert"
End Sub
Viel Glück :D