Domino 9 und frühere Versionen > ND7: Entwicklung
EditDocument sehr langsam
botschi:
Hallo,
ich bastel mir ein Dokument zusammen und will es über einen Knopf in einer Ansicht anzeigen. Das Dok wird nicht gespeichert, sondern soll lediglich zur Anzeige gebracht werden.
Das geht auch.
Wenn ich das Dokument mit
dialogbox = ws.DialogBox("frm_Stundenuebersicht",True,True,False,True,True,True,"Meine Stundenübersicht", curdoc,True) öffnen will, dauert es sehr lange. Bis zu 3 Minuten. Alle vorherigen Zeilen werden sehr schnell abgearbeitet, aber die Dialogbox ist sehr langsam.
Auch wenn ich das Dokument über
Call ws.EditDocument(False,curdoc, True)
öffne, dauert es sehr lange.
Kennt jemand einen Rat, wie ich das schneller öffnen kann? Liegt es am Workspace?
Mittlerweile interessiert mich nur, wie ich es schneller machen kann und nicht die Ursache... Die User beschweren sich bei mir und ich muss gestehen auch nicht zu unrecht >:(
Danke für Rat!
Gruss, Matthias
Lossa:
Hi,
um mehr sagen zu können müssen wir schon wissen was du in dem Dokument machst?
Wenn du z.B. viele viele Lookups machst dann dauern die auch entsprechend lange. Das oder aber auch etwas ganz anderes könnte das Problem sein.
Bitte beschreibe mehr.
klaussal:
Die Kristallkugel ist leider etwas beschlagen.... :-:
Mehr Input = mehr Output !
umi:
Hat Dein Form evtl. viele @Dblookup/@DBColumn Felder drin (z.B. in Auswahllisten oder Dialogboxen?)
Wenn Du das Form nicht in der Dialogbox öffnest, wie siehts da aus?
botschi:
Das ist mein Code:
Dim ws As New NotesUIworkspace
Dim s As New NotesSession
Dim curdoc As notesdocument
Dim db As notesdatabase
Dim dialogbox As Variant
Set db = s.CurrentDatabase
Set curdoc = db.CreateDocument
curdoc.form = "frm_Button_Stundenuebersicht"
Dim Arbeitsmonat As notesdocument
Dim ArbeitsmonatView As NotesView
Dim Monat As String
Call monat_ermitteln(Monat)
Set ArbeitsmonatView = db.GetView("viwArbeitsmonat_alle")
Set Arbeitsmonat = ArbeitsmonatView.GetDocumentByKey(s.CommonUserName & Monat & Cstr(Year(Today)), True)
Call Arbeitsmonat.CopyAllItems(curdoc, True)
curdoc.Sollbisgestern = curdoc.arbeitstagebisheute(0) * curdoc.stundenkraft(0)
curdoc.StundenMonat = curdoc.Iststunden(0) - curdoc.Sollbisgestern(0)
curdoc.Gleitzeitsaldo = curdoc.StundenBeginnMonat(0) + curdoc.StundenMonat(0)
dialogbox = ws.DialogBox("frm_Arbeitsmonat_Stundenuebersicht",True,True,False,True,True,False,"Meine Stundenübersicht", curdoc,True)
Über einen Knopf in der Ansicht wird dieser Code ausgeführt. Die DB ist relativ gross (ca 5 GB).
Die Maske hat nur Felder, die berechnet zur Anzeige sind.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln