Re: [de-users] Re: Schließen einer Datenbankdatei aus dem Formular
Hallo Andreas, Lapidare Antwort von Basic: Objektvariable nicht belegt. Als wenn keine Verbindung da ist. Gruß Robert Wenn schon Basic, dann auch mit Option Explicit. Grüße, Andreas Wenn Du mir sagen könntest, was der Kommentar mir an Hilfestellung bieten soll ... Natürlich achte ich darauf, dass meine Variablen vorher deklariert werden. Aber wenn es so etwas wie ThisDatabaseConnection gar nicht gibt hilft mir auch kein DIM ... AS OBJECT Gruß Robert - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
[de-users] Re: Schließen einer Datenbankdatei aus dem Formular
Robert Großkopf wrote: Liebe Liste, ich versuche gerade für jemanden den Wunsch zu realisieren, mittels eines Buttons aus einem Formular der Datenbankdatei heraus Formular und Datei zu schließen. Das Schließen der Formulare ist mit oController = ThisDatabaseDocument.CurrentController oController.closeSubComponents kein Problem. oDoc = ThisDatabaseDocument oDoc.close(True) führt aber regelmäßig dazu, dass OpenOffice das Ganze als Absturz interpretiert und am liebsten einen Bericht an Sun schicken möchte. Dabei ist es egal, ob ich vorher die SubComponents (also eigentlich nur das eine Formular ...) geschlossen habe oder den Befehl direkt im Formular ausführe. Setze ich oDoc.close(True) nach geschlossenem Formular bei der Datenbank.odb ab, so schließt sich zwar das Datenbankfenster, aber die Lock-Datei (*.lck) bleibt bestehen. Zumindest kommt aber nicht die Botschaft eines Absturzes ... Bitte jetzt nicht die gutgemeinten Ratschläge, das im Sinne der Datensicherheit lieber sein zu lassen. Die gebe ich so schon weiter und würde, wenn das Schließen aus dem Formular heraus gewünscht ist, doch direkt auf die Formulare innerhalb der *.odb verzichten - obwohl ich da jetzt bereits einige Zeit investiert habe. Die Nachfrage, wie vermieden werden kann, dass dies als Absturz interpretiert bzw. die Lock-Datei nicht geschlossen wird, soll mir lediglich helfen, eventuelle Problemstellen genauer zu durchschauen. Gruß Robert Wären die Formulare in unabhängigen Dokumenten hättest du weder Probleme sie per Hyperlink zu öffnen, noch irgendein Problem mit einer abgeschmierten Datenbank. So musst du dich wohl um die Datenbankverbindung kümmern bevor du das Datenbankdokument schließen kannst. - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Re: Schließen einer Datenbankdatei aus dem Formular
Hallo Andreas, Wären die Formulare in unabhängigen Dokumenten hättest du weder Probleme sie per Hyperlink zu öffnen, noch irgendein Problem mit einer abgeschmierten Datenbank. So musst du dich wohl um die Datenbankverbindung kümmern bevor du das Datenbankdokument schließen kannst. Das Beknackte ist ja, dass oDoc = ThisDatabaseDocument oDoc.close(True) mit der Einstellung True genau dies machen soll: Der Prozess wartet, bis alle ausstehenden anderen Prozesse beendet sind und führt dann das Schließen des Dokumentes durch. Nur beim DatabaseDocument (statt einem normalen) wird anscheinend die Datenbank selbst nicht berücksichtigt. Kennzeichnenderweise finde ich auch nirgendwo einen Befehl, wie ich eine Datenbankverbindung lösen kann, wohl aber, wie ich sie erzeugen kann ... Gruß Robert - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
[de-users] Re: Schließen einer Datenbankdatei aus dem Formular
Robert Großkopf wrote: Hallo Andreas, Wären die Formulare in unabhängigen Dokumenten hättest du weder Probleme sie per Hyperlink zu öffnen, noch irgendein Problem mit einer abgeschmierten Datenbank. So musst du dich wohl um die Datenbankverbindung kümmern bevor du das Datenbankdokument schließen kannst. Das Beknackte ist ja, dass oDoc = ThisDatabaseDocument oDoc.close(True) mit der Einstellung True genau dies machen soll: Der Prozess wartet, bis alle ausstehenden anderen Prozesse beendet sind und führt dann das Schließen des Dokumentes durch. Nur beim DatabaseDocument (statt einem normalen) wird anscheinend die Datenbank selbst nicht berücksichtigt. Kennzeichnenderweise finde ich auch nirgendwo einen Befehl, wie ich eine Datenbankverbindung lösen kann, wohl aber, wie ich sie erzeugen kann ... Gruß Robert Der folgende Code wurde vom MRI-Tool aufgezeichnet wärend ich darin die Methode suchte, um die Datenbankverbindung zu kappen und dann das Dokument zu schließen. http://extensions.services.openoffice.org/project/MRI oInitialTarget ist das aktive Datenbankdokument. Sub Snippet( Optional oInitialTarget ) Dim oCurrentController As Object Dim oActiveConnection As Object oCurrentController = oInitialTarget.CurrentController oActiveConnection = oCurrentController.ActiveConnection oActiveConnection.close() oInitialTarget.close( True ) End Sub OOo läuft noch. - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org