Autor Thema: Name der aktuell geöffneten "persönlichen" View ermitteln  (Gelesen 2179 mal)

Offline Alexander 28

  • Aktives Mitglied
  • ***
  • Beiträge: 190
  • Geschlecht: Männlich
  • Meistens gibt es eine Lösung!
Hallo. Habt ihr eine Idee, wie ich den Namen einer geöffneten View auslesen kann, wenn es sich um eine persönliche handelt, die in der desktop.dsk gespeichert ist? habe es mit ...

Set view = ws.Currentview.View

und

Dim viewname As Variant
viewname = Evaluate(|@UpperCase(@ViewTitle)|)

probiert. Klappt nur bei öffentlichen Ansichten. Bei pers. ist Return leer.
Gibts einen anderen Weg?

Gruß Alex


Driri

  • Gast
Re: Name der aktuell geöffneten "persönlichen" View ermitteln
« Antwort #1 am: 17.01.13 - 10:56:43 »
Du hast aber schon mit view.Name oder view.Aliases auf die Namen zugegriffen, oder ?

Edit : Habs gerade ausprobiert, funktioniert nicht.

Dann nimm doch einfach die NotesUIView und lies dann über die ViewName-Property den Namen aus. Das funktioniert auch bei lokalen gespeicherten Ansichten.

Set uiview = ws.CurrentView
viewname = uiview.ViewName
« Letzte Änderung: 17.01.13 - 11:04:28 von Driri »

Offline marschul

  • Senior Mitglied
  • ****
  • Beiträge: 280
  • Geschlecht: Männlich
Re: Name der aktuell geöffneten "persönlichen" View ermitteln
« Antwort #2 am: 17.01.13 - 11:00:10 »
Wenn ich mich richtig erinnere, kommt man bei privaten Views im Desktop über den Weg der UIView nicht an die Backend-View heran. Die Frontend-View geht m.W. aber und diese hat auch die Properties .ViewName und .ViewAlias (siehe Designer-Hilfe).
Gruß
Marco

Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß. (Sokrates)
Keiner ist unnütz, er kann immer noch als schlechtes Beispiel dienen. (unbekannt)

Offline Alexander 28

  • Aktives Mitglied
  • ***
  • Beiträge: 190
  • Geschlecht: Männlich
  • Meistens gibt es eine Lösung!
Re: Name der aktuell geöffneten "persönlichen" View ermitteln
« Antwort #3 am: 17.01.13 - 12:32:02 »
Stimmt, den ViewNamen habe ich nun. Aber jetzt möchte ich alle Docs in der View in eine EntryCollection packen um sie danach in einen Ordner zu kopieren. Leider liefern mir    

Dim vc As NotesViewEntryCollection
Set vc = view.Allentries

einen Fehler zurück. Hier mal mein Code.

Code
Function GrafikDieseAnsicht( ansichtname As String )

	Dim session As New NotesSession
	Dim ws As New NotesUIWorkspace
	Dim newuidoc As NotesUIDocument
	Dim db As NotesDatabase
	Dim view As NotesView
	Dim NotesUIView As NotesUIView

	Dim newdoc As NotesDocument
	Dim viewname As Variant
	Dim profildoc As NotesDocument
	Set db = session.CurrentDatabase
	Set profildoc = db.GetProfileDocument("CNF Feiertage")
	

	Dim vc As NotesViewEntryCollection

	
	If ansichtname = "" then
		Set view = ws.Currentview.View

	Else
		
		Set NotesUIView = ws.Currentview
		viewname = NotesUIView.Viewname
				
		Set view = db.Getview(viewname)
				
	End If
	
	view.AutoUpdate = False
	Set vc = view.Allentries

       Call vc.Putallinfolder("Buecher", True)
End Function

Wenn ich die vc mit den docs einer öffentlichen view fülle klappt es problemlos.
wie kriege ich die docs in der aktuellen privaten view in meinen ordner?

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Name der aktuell geöffneten "persönlichen" View ermitteln
« Antwort #4 am: 17.01.13 - 12:56:30 »
1) Fehlerbehandlung einbauen
2) Genaue Fehlermeldung. Mit "einen Fehler" fangt niemand was an
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline marschul

  • Senior Mitglied
  • ****
  • Beiträge: 280
  • Geschlecht: Männlich
Re: Name der aktuell geöffneten "persönlichen" View ermitteln
« Antwort #5 am: 17.01.13 - 13:06:25 »
Das Set View = Db.GetView(ViewName) instanziert die Objektvariable vermutlich entweder gar nicht (falls die private View allein besteht) oder mit der "Vorlage"-View (wenn es heißt "Öffentlich - privat bei erster Benutzung"). Ist dann eine Selektion mit @UserName enthalten, ist die öffentliche Basis-View natürlich leer.
Alternative: Baue das Select nach (geht auch dynamisch) und mach ein Db.Search. Ist zwar langsamer als die EntryCollection, aber sollte zum gewünschten Ergebnis führen...
Gruß
Marco

Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß. (Sokrates)
Keiner ist unnütz, er kann immer noch als schlechtes Beispiel dienen. (unbekannt)

Offline Alexander 28

  • Aktives Mitglied
  • ***
  • Beiträge: 190
  • Geschlecht: Männlich
  • Meistens gibt es eine Lösung!
Re: Name der aktuell geöffneten "persönlichen" View ermitteln
« Antwort #6 am: 17.01.13 - 13:15:23 »
Ja, das leuchtet mir ein. Mal schauen wie ich weitermache. Der Fehler den ich bekomme heißt übrigens: "Index kann nicht auf dem Server erstellt werden."

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz