Hallo Leute,
habe mal wieder ein Problem. Hab auch hier schon viel gesucht, aber nichts passendes gefunden. Es geht sich um folgendes:
Ich habe eine Ansicht und die User, welche nur Editorrechte haben, können mit klick auf einen Button folgenden Quelltext aufrufen.
Sub Click(Source As Button)
%REM
Diese Funktion öffnet eine Maske um die Auswahlkriterien der Ansicht zu aktualisieren.
veränderte globale Variablen:
keine
%ENDREM
Dim session As New NotesSession
Dim uiws As New NotesUIWorkspace
Dim uivw As NotesUIView
Dim doc As NotesDocument
Dim vw As NotesView
Dim db As NotesDatabase
Dim varResult As Variant
Set uivw=uiws.CurrentView
Set vw=uivw.View
vw.Refresh
uiws.ViewRebuild 'Fehler beim ausführen mit Editorrechten
uiws.ViewRefresh
'Das Profildokument wird geladen, sowie die Maske für die Filterkriterien
Set db = session.CurrentDatabase
Set doc = db.GetProfileDocument("frmVorlage")
If vw.EntryCount>0 Then
varResult = uiws.DialogBox("frmZeitraum",True, True,True,True,False,False,"Bitte geben Sie die Filterkriterien ein:",,True,True)
'Es erfolgt die Überprüfung ob ein Wert gegeben ist
If varResult Then
Dim strTag As String
Dim strMonat As String
Dim strJahr As String
Dim strFormula As String
'Die Auswahlformel wird erstellt und dieser Ansicht zugewiesen. Im Anschluss wird diese neu geladen und die urpsrüngliche Auswahlformel wird eingetragen.
varResult = doc.GetItemValue("datStart")
strTag = Mid(Cstr(varResult(0)), 1,2)
strMonat = Mid(Cstr(varResult(0)), 4,2)
strJahr = Mid(Cstr(varResult(0)), 7,4)
strFormula = "SELECT Form='frmTicket'" _
+ " & (@Date(@TextToNumber(@Middle(DocCreateDate;6;4)); @TextToNumber(@Middle(DocCreateDate;3;2)); @TextToNumber(@Middle(DocCreateDate;0;2)))" _
+ ">=@date(" + strJahr + ";" + strMonat + ";" + strTag + "))"
varResult = doc.GetItemValue("datEnde")
strTag = Mid(Cstr(varResult(0)), 1,2)
strMonat = Mid(Cstr(varResult(0)), 4,2)
strJahr = Mid(Cstr(varResult(0)), 7,4)
strFormula = strFormula + " & (@Date(@TextToNumber(@Middle(DocCreateDate;6;4)); @TextToNumber(@Middle(DocCreateDate;3;2)); @TextToNumber(@Middle(DocCreateDate;0;2)))" _
+ "<=@date(" + strJahr + ";" + strMonat + ";" + strTag + "))"
Set uivw = uiws.CurrentView
Set vw = uivw.View
vw.SelectionFormula = strFormula 'Fehler beim ausführen mit Editorrechten
vw.Refresh
uiws.ViewRebuild 'Fehler beim ausführen mit Editorrechten
uiws.ViewRefresh
vw.SelectionFormula = "SELECT Form='frmTicket' & sichtbarkeit='0'" 'Fehler beim ausführen mit Editorrechten
Else 'Falls der User den Zeitraumdialog abbricht
vw.SelectionFormula = "SELECT Form='frmTicket' & sichtbarkeit='0'" 'Fehler beim ausführen mit Editorrechten
vw.Refresh
uiws.ViewRebuild 'Fehler beim ausführen mit Editorrechten
uiws.ViewRefresh
End If
Else
Messagebox "Es sind keine Datensätze vorhanden!", 0, "Fehler"
End If
End Sub
Es wird eine neue Form nämlich frmZeitraum geöffnet. Dort gibt es nur 2 Datumsfelder, datStart und datEnde, welche in einfache Felder in der Form frmVorlage gespeichert werden. Das klappt ja auch alles so wie es ist super, aber leider nur mit ManagerRechten. Hab hier auch schon gelesen, dass das ViewRebuild nur von Managern ausgeführt werden kann.
So, nun weiß ich aber leider nicht, wie ich es anders lösen kann. Es wäre sehr nett, wenn ihr mir helfen könntet. Die Stellen, an der der "normale" User Probleme hat hab ich markiert.
MfG Daniel