Autor Thema: Queryopen  (Gelesen 1276 mal)

Offline Raimund

  • Junior Mitglied
  • **
  • Beiträge: 83
  • Geschlecht: Männlich
Queryopen
« am: 10.10.02 - 13:57:28 »
Hi Entwickler,

habe mal wieder ein Problem.

Es sind 2 Agenten, welche die Sprachen etc. ändern.
Beim laden der DB wird im Queryopen bewirkt, dass in der Ansicht "Deutsch" alle Dokumente mit der deutschen Maske hinterlegt werden. Grund; wenn jemand die DB in der englischen Ansicht verlässt, so werden dann leider beim nächsten öfnen der DB in der deutschen Start-Ansicht nicht die Masken ersetzt. Da es automatisch laufen soll, habe ich es so gelöst:

Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
   Dim s As New NotesSession
   Dim db As NotesDatabase
   Dim agent As NotesAgent
   
   
   Set db = s.CurrentDatabase
   Set agent = db.GetAgent("German language")
   
   If agent.Run = 0 Then
      Messagebox "all documents (forms) are in the German language now",, "Referenzliste"
   Else
      Messagebox "Agent did not run",, "Failure"
   End If
End Sub


Problem!!!

Ich habe noch eine Profil-Maske mit Server-Pfad, DB-Name und der DB-ID, welche notwendig  für die Übersetzungen ist.
Öfnet man die DB so wird leider auch diese Profil-Maske mit den Eingabe-Masken ersetzt.

Wie kann ich es vermeiden, dass diese eine Maske nicht von dem Agent ersetzt werden soll??

Agent: "German language"


Sub Initialize
   
   'Die benötigten Objektvariablen werden deklariert
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim col As NotesDocumentCollection
   Dim doc As NotesDocument
   
   'Die Datenbank ist die aktuelle Datenbank und die markierten Dokumente
   'werden in der Dokumentensammlung gespeichert.
   Set db = session.CurrentDatabase
   Set col = db.AllDocuments
   
   'Alle Dokumente der Sammlung werden bearbeitet und der Maskenname auf Eingabe
   'gesetzt. Das Dokument wird gespeichert. Durch die Sammlung wird mit der Methode
   'GetNthDocument navigiert.
   For i = 1 To col.Count
      Set doc = col.GetNthDocument(i)
      doc.Form = "DokumentDE"
      Call doc.Save(True, False)
   Next
   
End Sub


Gruß
Predator
« Letzte Änderung: 11.10.02 - 18:46:49 von Predator »

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Queryopen
« Antwort #1 am: 10.10.02 - 14:17:41 »
mal nur ein Tip am Rande:
hast Du Dich bereits einmal mit der Domino Global Workbench auseinandergesetzt? Kann ich wirklich empfehlen, weil das was Du machst ist doch eher was eigenes, gebackenes, oder?

Wenn Du die Einarbeitungszeit in dieses Multilanguage Tool von Lotus scheust (ist halb so wild), dann kannst Du auch mit Form Formulas arbeiten.

Und, wenn ich mir den Code  so ansehe, dann änderst Du alle doc.Forms in der Ansicht ab, wenn der User wie auch immer deutsch/english ist? Öhm.. :o..hab ich so noch nie gesehen...ist doch eine 1 Datenbank-für-einen User-Lösung oder? Denn was machst Du, wenn 10 user parallel in die DB reingehen? Einen Haufen Save Conflicts erzeugen? Oder habe ich Dich schlicht falsch verstanden?
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline Raimund

  • Junior Mitglied
  • **
  • Beiträge: 83
  • Geschlecht: Männlich
Re:Queryopen
« Antwort #2 am: 10.10.02 - 14:26:02 »
Hi,

wo finde ich dieses "Domino Global Workbench"??

Gruß
Predator
« Letzte Änderung: 11.10.02 - 18:47:52 von Predator »

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
« Letzte Änderung: 10.10.02 - 14:50:51 von Rob Green »
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline Raimund

  • Junior Mitglied
  • **
  • Beiträge: 83
  • Geschlecht: Männlich
Re:Queryopen
« Antwort #4 am: 10.10.02 - 15:05:24 »
Hi,

habe eine Lüsung gefunden.

For i = 1 To col.Count
      Set doc = col.GetNthDocument(i)
      If doc.Form(0) = "profil" Then
         Set doc =  col.GetNthDocument(i)
      Else
         doc.form = "DokumentDE"
      End If
      
      
      Call doc.Save(True, False)
   Next



Vielen Dank für die Links für Domino Global Workbench

Gruß
Predator
« Letzte Änderung: 11.10.02 - 18:48:34 von Predator »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz