Ich habe folgenden Code aus dem Libreoffice 4.0 Handbuch verwendet, um meine sql DB Verbindung zu schließen:
SUB Database_compaction
DIM stMessage AS STRING
oDataSource = ThisComponent.Parent.CurrentController
IF NOT (oDataSource.isConnected()) THEN
oDataSource.connect()
END IF
oConnection = oDataSource.ActiveConnection()
oSQL_Statement = oConnection.createStatement()
stSql = "SHUTDOWN COMPACT" ' The database is being compacted and shut down
oSQL_Statement.executeQuery(stSql)
stMessage = "The database is being compacted." + CHR(13) + "The form will now close."
stMessage = stMessage + CHR(13) + "Following this, the database file should be closed."
stMessage = stMessage + CHR(13) + "The database can only be accessed after reopening the database file."
msgbox stMessage
ThisDatabaseDocument.FormDocuments.getByName( "Maintenance" ).close
REM The closing of the database file causes a recovery operation when you open it again.
' ThisDatabaseDocument.close(True)
END SUB
Ich bekomme aber eine Fehlermeldung; siehe Anhang.
Warum kann man eigentlich die Datei nicht schließen mit ThisDatabaseDocument.close(True) ohne beim nächsten Start immer in die "Wiederherstellung" der Datei zu gelangen?
🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Datenbankverbindung und Dokument per Makro schließen
Datenbankverbindung und Dokument per Makro schließen
- Dateianhänge
-
- Bildschirmfoto 2016-05-28 um 01.09.39.jpg (277.56 KiB) 1660 mal betrachtet
Re: Datenbankverbindung und Dokument per Makro schließen
Hallo drheiser,
Du versuchst eine MySQL-Datenbank mit einem Befehl für die interne HSQLDB zu schließen. Außerdem nutzt Du Code für eine ältere LO-Version. Das Komprimieren ist inzwischen nicht mehr nötig. Es wird beim Schließen der Datenbankdatei automatisch ausgeführt. Deswegen erscheint dieses makro auch nicht mehr in den neueren Handbuchversionen.
Warum beim .close(True) für die Datenbankdatei immer wieder die Wiederherstellung läuft kann ich nicht sagen. Das habe ich auch nur im Handbuch nach eigener Erfahrung dazugeschrieben.
Gruß
Robert
Du versuchst eine MySQL-Datenbank mit einem Befehl für die interne HSQLDB zu schließen. Außerdem nutzt Du Code für eine ältere LO-Version. Das Komprimieren ist inzwischen nicht mehr nötig. Es wird beim Schließen der Datenbankdatei automatisch ausgeführt. Deswegen erscheint dieses makro auch nicht mehr in den neueren Handbuchversionen.
Warum beim .close(True) für die Datenbankdatei immer wieder die Wiederherstellung läuft kann ich nicht sagen. Das habe ich auch nur im Handbuch nach eigener Erfahrung dazugeschrieben.
Gruß
Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.