Moin Bernhardt,
danke erst mal für die Rückmeldung.
Ich glaube wir reden allerdings von zwei verschiedenen Dingen.
Ich kann nach einer programmatischen Änderung des Select-Statements eine private View gar nicht mehr löschen bzw. das Design ändern.
Wenn ich mir die Eigenschaften im Designer anzeigen lasse, hat diese einfach keinerlei Einträge mehr.
Daher kommen auch die Fehler die ich gepostet habe.
Das Problem ist reproduzierbar.
Bei mir geht's so:
1) Ein View-Template erstellen, dass als Eigenschaft "Gemeinsam, privat bei Erstbenutzung" besitzt. (Im Designer das Symbol Schlüssel mit einer 1)
2) Dieses View in der Anwendungs-UI aufrufen. --> (Es wird eine View erzeugt, die als Symbol im Designer nur einen Schlüssel besitzt. Die Eigenschaften wie $Flag usw. sind im Designer vorhanden und die View kann auch wieder gelöscht werden.
3) Das Selectstatement dieser View mit z.B. dem folgenden Code per Agent verändern:
Ansichtsinhalt wird dann korrekt laut neuer Selectionsformel angezeigt!
| Dim ws As New NotesUIWorkspace |
| Dim ses As New NotesSession |
| Dim db As NotesDatabase |
| Dim Doc As NotesDocument |
| Dim view As NotesView |
| Dim selString As String |
| |
| Set db = ses.currentdatabase |
| Set view = DB.Getview("PrivByAccount") |
| If view Is Nothing Then |
| MsgBox "view nicht gefunden!" , 16, "Hinweis" |
| Exit Sub |
| End If |
| |
| selString = ws.Prompt(3, "SELECT", "Neuer select: ", "",selString) |
| If selString = "" Then |
| Exit Sub |
| End If |
| |
| view.Selectionformula = selString |
| Call ws.Reloadwindow() |
3) Im Designer sich die Eigenschaften dieser View nun anzeigen lassen! Diese sind nicht mehr vorhanden.
--> Die View kann auch nicht mehr gelöscht werden. Weder im Designer noch programmatisch.
Solange keine Manipulation des View-Selectstatements vorgenommen wurde, sind die Eigenschaften vorhanden und die View kann gelöscht werden.
Anmerkung:Ich hatte bisher diese Anwendungssituation über Ordern abgebildet.
Das Problem ist allerdings, das es inzwischen teilweise mehrere Tausend Dokumete sein können und die User immer wieder
vergessen, die Ordner zu aktualisieren.
Die Aktualisierung dauert natürlich dann auch noch einige Sekunden usw.
Mit einer View die der User individuell mit einem Selektstatement belgen kann, wäre das Problem für alle Zeit behoben.
Grüße
Bernd