Hallo!
Das Thema ist zwar schon alt und durchgekaut, aber bei mir will das einfach nicht laufen.
Ich habe in einer Datenbank eine private Ansicht, auf der ein Update gemacht werden soll. Nun ist das ja so eine Sache. Updates werden nicht einfach über private Ansichten gezogen, es sei denn man löscht sie und baut sie dann mittels der geänderten Vorlage wieder auf.
Nun habe ich hier im Forum nochmal geschaut und 2 Varianten ausprobiert, die leider beide nicht liefen.
Ich habe im QueryClose der Datenbank folgendes ausprobiert:
Variante 1
Sub Queryclose(Source As Notesuidatabase, Continue As Variant)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim strView As Boolean
Set db = session.CurrentDatabase
Set view = db.GetView("Schreibtisch")
strView = view.IsPrivate
If strView = True Then
'löschen
Call view.Remove()
End If
End Sub
Diese Variante funktioniert erst wunderbar. Dann habe ich das mit einem Testuser getestet und es ging nicht mehr. Und bei mir dann auch nicht mehr.
In der Zeile strView = view.IsPrivate kam die Fehlermeldung "Object variable not set".
Variante 2
Sub Queryclose(Source As Notesuidatabase, Continue As Variant)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim docView As NotesDocument
Dim itmFlags As NotesItem
Set db = session.CurrentDatabase
Forall v In db.Views
Set view = v
Set docView = db.GetDocumentByUNID( view.UniversalID )
If Not docView Is Nothing Then
Set itmFlags = docView.GetFirstItem( "$Flags" )
If Instr( itmFlags.Values( 0 ), "V" ) Then
Call view.Remove
End If
End If
End Forall
End Sub
Diese Variante läuft einfach durch ohne etwas zu unternehmen. Habe mir das dann mal genauer angeschaut und festgestellt, dass meine private Ansicht (Vorlage und private A.) nicht den Wert "V" sondern "pY" haben. Habe das V also dadurch ersetzt, aber trotzdem passierte rein gar nichts. Und wenn beide Ansichten den Wert haben, woher unterscheidet Notes dann überhaupt die Vorlage und die private Ansicht?
Hilfe!!!