Hallo Frank,
> 
> Versuch mal das folgende:
> 
>   oController = ThisDatabaseDocument.CurrentController
>   If ( oController.isConnected() ) Then
>     oController.connect()
>   End If
>   oController.loadComponent( _
>     com.sun.star.sdb.application.DatabaseObject,FORM, _
>     "KinderProKG", _
>     FALSE )
> 
> > Wenn irgendetwas im Bereich der Formulare bei Öffnen richtig
> > funktionieren soll, dann müsste es eigentlich so etwas wie Dein
> > ThisDatabaseDocument.FormDocuments.getByName( "KinderProKG" ).open
> > sein.
> 
> Das sollte prinzipiell equivalent zum dem obigen loadComponent am
> Controller sein, aus diversen Gründen würde ich aber die Methode per
> Controller empfehlen.

Manchmal habe ich den Eindruck, dass Du aus didaktischen Gründen kleine Fehler 
einbaust, damit ich einmal genauer hinsehe und Deine nachfolgende Mail auch 
intensiver zur Kenntnis nehme. So verstehe ich langsam auch einige Teile der 
api, die ich sonst nur im trial-and-error-Modus versucht habe. 
Die Verbindung muss natürlich nur dann noch erfolgen, wenn sie bisher nicht 
erfolgte und auf das Formular wird zugegriffen, indem, wie sonst üblich, der 
Begriff mit einem Punkt an das übergeordnete Element gehängt wird. Was es mit 
dem "FALSE" auf sich hatte konnte ich dann auch noch erfahren: plötzlich 
erschien mein Formular zum Bearbeiten geöffnet. So funktioniert das Laden 
jetzt für das oben angegebene Formular, so dass es direkt bearbeitet werden 
kann:

SUB Formular_Start
        REM  Start direkt nach dem Start der Datenbank
        oController = ThisDatabaseDocument.CurrentController
        If NOT ( oController.isConnected() ) Then
                oController.connect()
        End If
        
oController.loadComponent(com.sun.star.sdb.application.DatabaseObject.FORM,"KinderProKG",FALSE)
END SUB

Sobald der Start des Datenbankdokumentes mit dem ersten Formular erfolgt ist, 
kann munter zwischen den Formularen hin- und her geschaltet werden mit
ThisDatabaseDocument.FormDocuments.getByName( "Formular2" ).open
ThisDatabaseDocument.FormDocuments.getByName( "Formular1" ).close

Na also, geht doch.

Gruß

Robert

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org
For additional commands, e-mail: users-h...@de.openoffice.org

Antwort per Email an