Seite 1 von 1

Letzten Datensatz im Formular anzeigen

Verfasst: So 1. Dez 2013, 10:28
von nikolay
Hallo,

ich habe eine Datenbank mit einigen Formularen. Man kann per Schaltfläche aus dem einen Formular das nächste aufmachen. Das Problem ist daß jedes neu aufgemachte Formular wieder Datensatz Nr.1 anzeigt. Aktuell seht mein Makro hinter der Schaltfläche so aus:

Code: Alles auswählen

Sub open_closeForm
    ThisDatabaseDocument.FormDocuments.getbyName( "Formular1" ).close    
    ThisDatabaseDocument.FormDocuments.getByName( "Formular2" ).open
End Sub

Wie kann ich es machen, dass die Schaltfläche das Formular2 öffnet und gleichzeitig auf den letzten Datensatz springt?
So habe ich es auch versucht, klappte aber nicht:

Code: Alles auswählen

Sub open_closeForm
    ThisDatabaseDocument.FormDocuments.getbyName( "Stammdaten" ).close    
    ThisDatabaseDocument.FormDocuments.getByName( "Eingriffe" ).open
    rem ----------------------------------------------------------------------
    rem define variables
    dim document   as object
    dim dispatcher as object
    rem ----------------------------------------------------------------------
    rem get access to the document
    document   = ThisComponent.CurrentController.Frame
    dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

    rem ----------------------------------------------------------------------
    dispatcher.executeDispatch(document, ".uno:LastRecord", "", 0, Array())
End Sub
Vielen Dank im Voraus!

Nikolay

Re: Letzten Datensatz im Formular anzeigen

Verfasst: So 1. Dez 2013, 11:52
von F3K Total
Hi,
dies könnte funktionieren:

Code: Alles auswählen

Sub open_closeForm
    ThisDatabaseDocument.FormDocuments.getbyName( "Formular1" ).close   
    oformdoc2 = ThisDatabaseDocument.FormDocuments.getByName( "Formular2" ).open
    oform = oFormdoc2.DrawPage.Forms(0)
    do 
        wait 100
    loop until oform.isLoaded
    oform.last
End Sub
Gruß R

Re: Letzten Datensatz im Formular anzeigen

Verfasst: So 1. Dez 2013, 14:36
von nikolay
Jupp, funktioniert

Vielen Dank ;)