Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Grabby am 09.06.04 - 11:16:56

Titel: Refresh über alle Ansichten einer DB
Beitrag von: Grabby am 09.06.04 - 11:16:56
Hallo!
Ich suche eine Möglichkeit, alle Ansichten einer DB auf einen Schlag zu aktualisieren. Bislang sehe ich nur die Möglichkeit, die Ansichten einzeln anzusprechen und zu aktualisieren?!

Grabby
Titel: Re:Refresh über alle Ansichten einer DB
Beitrag von: Driri am 09.06.04 - 11:32:29
Was heißt aktualisieren ?

Alle Indexe aktualisieren ginge z.B. über STRG+SHIFT+F9 in der DB.
Titel: Re:Refresh über alle Ansichten einer DB
Beitrag von: Chriss am 09.06.04 - 11:35:17
Wie möchtest Du denn die Ansichten refreshen??
von Hand oder automatisch.
1. Von Hand Tastenkombination <STrG> + <Shift> + <F9>
2. Per Agent sowas wie view.refresh oder so ähnlich
3. Die Ansichten können doch auch per compact bzw . updall refresh werden oder nicht??? genau
load updall database -R
Updates full text indexes and all views in the database

hoffe das hilft dir!?!?!?!

schönen Tach noch

Chriss
Titel: Re:Refresh über alle Ansichten einer DB
Beitrag von: Grabby am 09.06.04 - 11:42:49
Die Ansichten müssen automatisch refreshed werden, und zwar wenn ein neues Dokument angelegt und gespeichert wird. Beim Speichern des Dokumentes schreibe ich einige Werte in andere Dokumente. Diese werden aber in den Ansichten erst nach 'nem Refresh sichtbar.

Ich würde das Refreshen gern automatisch vornehmen und mit in mein Script einbinden.  Wenn ich wüßte wie ::)

Grabby
Titel: Re:Refresh über alle Ansichten einer DB
Beitrag von: koehlerbv am 09.06.04 - 12:04:12
Ein Refresh sollte aber nur notwendig sein für die Ansicht(en), die beim Erstellen des Dokuments und Modifizieren der anderen Doks gerade geöffnet sind. Damit würde sich die Anzahl schon mal erheblich reduzieren.
Hast Du noch ein paar Infos zu Deinen Bedingungen ?

Bernhard
Titel: Re:Refresh über alle Ansichten einer DB
Beitrag von: Grabby am 09.06.04 - 12:08:45
Ich muss alle Views refreshen, in denen die 'anderen'Doks' angezeigt werden. Ich möchte mir nur ersparen, jede Ansicht zu einzeln anzusprechen und zu refreshen. Die Anzahl aller Ansichten beläuft sich auf 10 Stück. Eine Erweiterung ist unwahrscheinlich.

Gibt es nicht irgendwie im Script was mit Refresh All Views oder so?

Grabby
Titel: Re:Refresh über alle Ansichten einer DB
Beitrag von: Grabby am 09.06.04 - 12:17:52
Manchmal sieht man den Wald vor lauter Bäumen nicht....
Hab 'ne Lösung gefunden:

Forall Ansichten In db.views
      Call Ansichten.refresh()
End Forall

Hab's gerade ausprobiert. Zeitfaktor ist auch i.O.

Trotzdem Danke für Eure Mühe.

Grabby
Titel: Re:Refresh über alle Ansichten einer DB
Beitrag von: koehlerbv am 09.06.04 - 12:18:33
Refresh all views gibt es nicht. Du kannst aber die NotesDatabase Property Views verwenden und in einer Forall-Schleife alle views aktualisieren. Ist zwar nicht gerade eine elegante Methode, aber bei den wenigen Ansichten ... Und Du bist auf der sicheren Seite, wenn eine weitere View dazukommt.

HTH,
Bernhard
Titel: Re:Refresh über alle Ansichten einer DB
Beitrag von: koehlerbv am 09.06.04 - 12:19:42
Da war die Fragestellerin ja fixer als der Antworter  ;)
Titel: Re:Refresh über alle Ansichten einer DB
Beitrag von: Hernan Cortez am 09.06.04 - 12:26:46
Code
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Forall v In db.Views
  v.refresh
End Forall

Versuch das mal in der Art in Skript.

<bla_bla_bla>
Mit dem expliciten Hinweis, dass dies bei vielen Ansichten zu ernsthaften Performance-Problemen führen muß.
Lotus Notes ist eine Client-Server Anwendung und das ist nicht zum Spaß, dass der Client manchmal einen alten state gecached hat und nicht ständig den aktuellen Stand synchronisiert.
 
Gewisse Dateninkonsistenzen sind zwangsläufig Bestandteil von den meisten verteilten Anwendungen.
</bla_bla_bla>

<praktiker>
Wenn ich mich recht erinnere, kann man da auch mit den Index-Optionen was drehen: Der Karlson-Vom-Dach Reiter. Punkt index. Von der View-Eigenschaftenbox.
</praktiker>

Gruß Axel