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?
🍀 Das LibreOffice Forum braucht HEUTE Ihre Hilfe! 🍀
❤️ Spenden Sie jetzt und sichern Sie die Zukunft unseres LibreOffice-Forums ❤️
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen lieben Dank!
>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig und kostenlos ihr Wissen teilen.<<
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) 1923 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:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das laufende.
Einfach per Kreditkarte oder PayPal. Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
❤️ Vielen lieben Dank für Ihre Unterstützung ❤️