Autor Thema: Löschen von mehreren privaten Ansichten  (Gelesen 2265 mal)

Offline Sommersprosse

  • Senior Mitglied
  • ****
  • Beiträge: 296
  • Geschlecht: Weiblich
Löschen von mehreren privaten Ansichten
« am: 12.11.08 - 13:49:28 »
Hallo zusammen,

ich brauche mal wieder einen Rat von euch.

In meinem Workflow habe ich mehrere Private Ansichten (Gemeinsam, privat bei Erstbenutzung)
Diese will ich über den Query Save löschen.

Mit
Code
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("Private Requests")
	
	strView = view.IsPrivate
	
	If strView = True Then
      'löschen
		Call view.Remove()
	End If
End Sub

funktioniert es soweit ganz gut, aber wie kann ich Notes dazu bewegen, damit mehrere Ansichten zu löschen.  Mir ist irgendwie die Syntax nicht ganz klar, wie ich mehrere Views angeben kann. Script ist nicht so meine Stärke..

Geht das überhaupt?

Danke schon mal.

Gruß Ulli

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: Löschen von mehreren privaten Ansichten
« Antwort #1 am: 12.11.08 - 13:57:22 »
Du kannst z.B. die Namen alle in einem Stringarray einlesen, und dann einen Loop durch den Array machen.


grüsse

Dau-in
mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Offline Sommersprosse

  • Senior Mitglied
  • ****
  • Beiträge: 296
  • Geschlecht: Weiblich
Re: Löschen von mehreren privaten Ansichten
« Antwort #2 am: 12.11.08 - 14:04:32 »
Du kannst z.B. die Namen alle in einem Stringarray einlesen, und dann einen Loop durch den Array machen.

 ??? ??? ???

Sorry, genau das ist mein Problem... ich habe keine Ahnung wie ich so was mache.
Vom Prinzip her klar, aber wie kriege mache ich ein Stringarray in Script.
Gruß Ulli

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: Löschen von mehreren privaten Ansichten
« Antwort #3 am: 12.11.08 - 14:09:54 »
dim strarray(2) as String

strarray(0) = "View1"
....


forall x in strarray

Set view = db.GetView("Private Requests")
   
   strView = view.IsPrivate
   
   If strView = True Then
      'löschen
      Call view.Remove()
   End If


etc.

oder for i=0 to 2

Set view = db.GetView(strarray(i))

grüsse

Dau-in

mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Offline Sommersprosse

  • Senior Mitglied
  • ****
  • Beiträge: 296
  • Geschlecht: Weiblich
Re: Löschen von mehreren privaten Ansichten
« Antwort #4 am: 12.11.08 - 15:15:13 »
dim strarray(2) as String

strarray(0) = "View1"
....
oder for i=0 to 2

Set view = db.GetView(strarray(i))


Hab mich dafür entschieden..... und es funktioniert so wie ich es haben wollte. Werde mir das für das nächste Mal merken.

Danke!
Gruß Ulli

Offline abeowulf

  • Frischling
  • *
  • Beiträge: 7
Re: Löschen von mehreren privaten Ansichten
« Antwort #5 am: 26.11.08 - 15:03:46 »
ich habe ein problem mit dem löschen von privaten ansichten

Zitat
   Dim ses As New NotesSession
   Dim db As NotesDatabase
   Dim readers As Variant
   
   Set db = ses.CurrentDatabase
   
   Forall x In db.Views
      If x.IsPrivate Then
         readers = x.Readers
         If Isarray(readers) Then
            If Ubound(readers) < 1 Then
               If readers(Lbound(readers)) = ses.Username Then 'private view on server
                  x.Remove
               End If
            End If
         End If
      End If
   End Forall
   
   Exit Sub   
Damit finde ich fast alle privaten Ansichten.

Ich habe aber in meiner Lotus Workflow DB private Anischten, welche im $Flags ein "po" drinstehen haben. Sowohl die Schablonenansicht wie auch die private Ansicht. Diese werden mittels diesem Code nicht gefunden.
Hat hier wer eine Lösung?

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz