Schöner Trick, genügt aber noch nicht; es liefert bei last() die Fehlermeldung mit der maximalen Ungenauigkeit:
SQLException
Message:Fehler in der Funktionsfolge
Ich habe mehrere Varianten versucht: zunächst innerhalb des Makros, das das Hilfsformular aufruft:
Code: Alles auswählen
lkzForms = thisDatabaseDocument.FormDocuments.getByName("fibu.selectLkz").open
lkzForm = lkzForms.drawpage.forms.MainForm
' lkzForm.reload ' zunächst ohne, dann in einem weiteren Versuch mit reload
lkzForm.last
lkzForm.first
Danach über das Ereignis "Ansicht wurde erzeugt" direkt im Hilfsformular:
Code: Alles auswählen
Sub SelectLkzShowAll
oForm = thisComponent.drawpage.forms.MainForm
oForm.last
oForm.first
End Sub
Schließlich habe ich diese Routine dem Ereignis "Dokument aktivieren" zugewiesen. (Dieses Ereignis passt eigentlich überhaupt nicht, denn es wird auch nach der Fehlermeldung erneut ausgelöst.) Dabei wurde das Makro einmal ausgeführt (natürlich mit der nötigen Pause), bei jedem späteren Aufruf folgt derselbe Fehler.
Ich habe den Verdacht, dass der Aufruf der Methode last() "zu schnell" kommt und der Befehl zum Laden der Daten innerhalb des Formulars noch nicht abgeschlossen ist. Ich vermute sehr stark, dass dein Trick trotzdem funktioniert, aber dass ich ihn in einen anderen Zusammenhang einbinden muss. Hast du auch dafür einen Tipp? Gruß Jürgen
Schöner Trick, genügt aber noch nicht; es liefert bei last() die Fehlermeldung mit der maximalen Ungenauigkeit:
[quote]SQLException
Message:Fehler in der Funktionsfolge[/quote]
Ich habe mehrere Varianten versucht: zunächst innerhalb des Makros, das das Hilfsformular aufruft:
[code] lkzForms = thisDatabaseDocument.FormDocuments.getByName("fibu.selectLkz").open
lkzForm = lkzForms.drawpage.forms.MainForm
' lkzForm.reload ' zunächst ohne, dann in einem weiteren Versuch mit reload
lkzForm.last
lkzForm.first[/code]
Danach über das Ereignis "Ansicht wurde erzeugt" direkt im Hilfsformular:
[code]Sub SelectLkzShowAll
oForm = thisComponent.drawpage.forms.MainForm
oForm.last
oForm.first
End Sub[/code]
Schließlich habe ich diese Routine dem Ereignis "Dokument aktivieren" zugewiesen. (Dieses Ereignis passt eigentlich überhaupt nicht, denn es wird auch nach der Fehlermeldung erneut ausgelöst.) Dabei wurde das Makro einmal ausgeführt (natürlich mit der nötigen Pause), bei jedem späteren Aufruf folgt derselbe Fehler.
Ich habe den Verdacht, dass der Aufruf der Methode last() "zu schnell" kommt und der Befehl zum Laden der Daten innerhalb des Formulars noch nicht abgeschlossen ist. Ich vermute sehr stark, dass dein Trick trotzdem funktioniert, aber dass ich ihn in einen anderen Zusammenhang einbinden muss. Hast du auch dafür einen Tipp? Gruß Jürgen