Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: derber am 20.09.06 - 08:27:58
-
Für eine Druck-Ansicht brauch ich aber eine Vorauswahl (SELECT). Also erstelle ich mir im Programm eine View und lasse sie dann in einem Rahmen Anzeigen
Code:
Set view = g_db.CreateView("name der neuen view", select-string, vorlage-view, True)
und dann ein
Call g_uiws.CurrentDatabase.OpenView("name der neuen view")
Call g_uiws.ViewRebuild()
Call g_uiws.ViewRefresh()
Fehlermelung: "Ungültiges oder nicht vorhandenes Dokument"
öffne ich die View direkt aus dem Designer, habe ich keine Probleme, bzw. die View wird mit richtiger Vorauswahl angezeigt.
Notes auf Client: 6.5.4
Notes auf Server: 6.5.3
-
um eine programmatische erstellte View in einem Rahmen anzeigen zu können, muss man die Datenbank schliessen und wieder öffnen.
Geht leider nicht anders, weil die DB irgendwie vorher nicht mitkriegt, dass da eine neue View ist...
Tode
-
kann man der Datenbank nicht die neue View übergeben?
habe im forum einen ansatz gefunden: http://atnotes.de/index.php?topic=28473.0
-
Ein schließen der Datenbank reicht leider nicht aus! Man muss im Designer die Sicht "Ansichten" aktualisieren. Gibt es über Skript die Möglichkeit das zu tun? (Strg + Shift + F9 reicht auch nicht!)
-
Es gibt neben Ansichten auch noch Ordner. Vielleicht wäre es einfacher, die gewünschten Dokumente per Agent in der Ansicht zu suchen und dann in den Ordner zu verschieben.
-
Per @SetViewInfo kannst Du ebenfalls Auswahlbedingungen definieren ... allemal komfortabler, als mit programmatisch erstellten Views zu arbeiten ...
-
vielen dank für die antworten!
ich habe jetzt ein view.refresh eingebaut. der user bekommt beim erstmaligen öffnen der view einen fehler. startet er die datenbank neu, funktioniert die erstellte view.
ist zwar wirklich nicht schön, aber läuft erstmal.
falls noch wer eine idee hat, wie ich der datenbank mitteilen kann das da eine neue view vorhanden ist.... immer her damit (;
gruß philipp
-
Die Aufforderung, "noch eine Idee" einzubringen, erscheint ziemlich sinnlos, denn du müßtest nur die Beiträge 4 und 5 lesen und beherzigen. Das sind die beiden möglichen Lösungen, aber vielleicht braucht es 24 Stunden Abstand, bis du sie erkennen kannst, weil du dich derzeit in deine Idee verbissen hast, eine programmatische View zu basteln, obwohl das eigentlich der denkbar schlechteste Ansatz ist.
Gruß
Norbert
-
Die Aufforderung lautete nicht "Noch eine Idee" sondern: "noch wer eine idee hat, wie ich der datenbank mitteilen kann das da eine neue view vorhanden ist"
Ich suche also NICHT nach einem komplett neuen Ansatz.
Zu 4 und 5:
In dem Fall reicht es leider nicht die Dokumente in Ordnern zu verschieben, da mehrere Benutzer auf die Datenbank zugreifen müssen. Wenn sich also 2 Benutzer gleichzeitig überlegen die View zu öffnen (mit unterschiedlichen auswahlkriterien) kommt es zu Problemen.
@setviewinfo dürfte aus den selben Gründen nicht funktionieren.
Im moment erstelle ich für jeden Benutzer beim starten der Datenbank eine eigene View (View Name + Benutzer Name) also bekommt er die oben genannte Fehlermeldung, schließt die View und öffnet Sie dann halt nochmal (Die View wird pro Benutzer nur einmal erstellt). Ab dann änder ich nur die SELECT formel.
-
Wenn sich also 2 Benutzer gleichzeitig überlegen die View zu öffnen (mit unterschiedlichen auswahlkriterien) kommt es zu Problemen.
@setviewinfo dürfte aus den selben Gründen nicht funktionieren.
Das wäre mir neu. @setviewinfo verändert mW nicht den View auf dem Server, sondern setzt lediglich im Client einen Filter.
-
Du verfügst über eine beachtliche Beratungsresistenz und/oder ein Wahrnehmungsproblem.
Die Lösung, auf die du dich eingeschossen hast, ist schlecht.
Die Lösungen deines Problems wurden genannt.
Du mußt sie lesen und beherzigen - oder weiterwursteln.
Wir wünschen frohe Verrichtung.