🙏 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!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Speichern Funktion um Daten in Base Datei zu speichern

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Sephan
Beiträge: 153
Registriert: Mi 26. Jan 2011, 13:16

Speichern Funktion um Daten in Base Datei zu speichern

Beitrag von Sephan » Fr 23. Aug 2013, 09:13

Hallo, ich verwende folgende Funktion um Daten eines Formulars zu speichern und dieses Formular dann für neue Daten zu leeren:

Code: Alles auswählen

Sub save_and_new_row(event)
    on error goto errorhandler
    ocontroller = thiscomponent.currentcontroller
    oform = event.source.model.parent
    odatDatum = oform.getbyname("datDatum")
    odatDatumctrl = ocontroller.getcontrol(odatDatum)
    odatDatumctrl.setFocus
    oform.insertrow
    oform.movetoinsertrow
    errorhandler:
End Sub
Meine Frage ist nun, wie ich es gleichzeitig erreichen kann, dass die Base Datei auch gespeichert wird. Denn wenn ich soffice kille, sind die zuvor "gespeicherten" Einträge nicht in der Datenbank. Ich möchte unbedingt vermeiden, dass Daten verloren gehen. Das kam im Regeleinsatz meiner Base Datei leider vor. Weiß aber nicht, wie die User es geschafft haben. Darum soll jetzt bei jedem Speichern auch die Daten in der Basedatei gespeichert werden. Das heißt womöglich jedesmal ein Datenbank disconnect und reconnect. Solange die Daten jedesmal fest gespeichert werden, soll mir das Recht.

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Speichern Funktion um Daten in Base Datei zu speichern

Beitrag von RobertG » Fr 23. Aug 2013, 11:52

Hallo Sephan,

versuche einmal das Folgende aus der Beispieldatenbank für das Handbuch:

Code: Alles auswählen

SUB Daten_aus_Cache_schreiben
	REM Schreibt die Daten aus der Tabelle auch während der Laufzeit von Base direkt auf die Platte.
	DIM oDaten AS OBJECT
	DIM oDataSource AS OBJECT
	oDaten = ThisDatabaseDocument.CurrentController
	IF NOT ( oDaten.isConnected() ) THEN oDaten.connect()
	oDataSource = oDaten.DataSource
	oDataSource.flush
END SUB
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

Sephan
Beiträge: 153
Registriert: Mi 26. Jan 2011, 13:16

Re: Speichern Funktion um Daten in Base Datei zu speichern

Beitrag von Sephan » Fr 23. Aug 2013, 13:47

Scheint echt zu klappen. Sehr gut :)

Jetzt hoffe ich mal, dass es keine Datenverluste mehr gibt :)

Großen Dank dir ;)

Freischreiber
* LO-Experte *
Beiträge: 832
Registriert: Fr 28. Mär 2014, 10:41

Re: Speichern Funktion um Daten in Base Datei zu speichern

Beitrag von Freischreiber » Di 6. Mai 2014, 17:26

Hallo,

nachdem ich dieses Video von F3K gesehen habe zum Thema Frontend-Backend-Aufteilung:
https://www.youtube.com/watch?v=zwpbEFOcKxk

war ich echt erschrocken, was LO/OO unter "Dokumentwiederherstellung" versteht: Lesezugriff auf das, was vor dem Crash schon auf der Platte war unter Verwerfung des Dazugekommenen :?

Dann bin ich auf dieses Topic gestoßen und hab gleich das Makro installiert. Funktioniert gut, und ich glaube, das ist jetzt ein Beispiel für ein Ereignis "Nach der Datensatzaktion", oder?

Jetzt würde ich nur gern wissen: Was ist denn die "bessere" Lösung: Das Makro oder wirklich die Aufteilung der Datenbank in Frontend und Backend?
Braucht man die Aufteilung langfristig sowieso?
Ist das Arbeiten dann schneller als mit der internen Datenbank?

Gruß
Freischreiber
Freischreiber nutzt seit 1/2025 LibreOffice Version 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Speichern Funktion um Daten in Base Datei zu speichern

Beitrag von RobertG » Di 6. Mai 2014, 20:36

Hallo Freischreiber,

ich habe beide Datenbanktypen im Einsatz. Bisher habe ich bei keinem der Typen irgendwelchen Datenverlust gehabt. Trotzdem bin ich bei der internen Datenbank dazu übergegangen, ein Makro zu installieren, das mir beim Start der Datenbankdatei erst einmal eine Sicherungskopie ins LO-Backup-Verzeichnis legt.

Die externe Variante hat den Vorteil, dass dort die Daten sofort geschrieben werden und mehrere Personen gleichzeitigen Zugriff auf die Daten haben. Da würde ich zusammen mit LO vermutlich PostgreSQL im Moment den Vorzug geben. Dort ist einfach der Treiber immer in den Paketen dabei.

Die interne Variante hat den Vorteil, dass alles in einem Paket transportabel ist. Solche Datenbanken kann ich auf jedem Rechner starten auf dem eben LO oder AOO oder OOo verfügbar ist.

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

Freischreiber
* LO-Experte *
Beiträge: 832
Registriert: Fr 28. Mär 2014, 10:41

Re: Speichern Funktion um Daten in Base Datei zu speichern

Beitrag von Freischreiber » Mi 7. Mai 2014, 08:32

Hallo Robert,

das Makro mit der Sicherheitskopie klingt vielversprechend, das hätte ich auch gerne. Würdest du das hier veröffentlichen?

Achso, bei der Frontend-Backend-Methode muß auf dem Rechner zusätzliche Software installiert sein?

Gruß
Freischreiber
Freischreiber nutzt seit 1/2025 LibreOffice Version 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de

Acco
Beiträge: 94
Registriert: Fr 31. Jan 2014, 16:41

Re: Speichern Funktion um Daten in Base Datei zu speichern

Beitrag von Acco » Mi 7. Mai 2014, 10:01

Hallo Freischreiber,

das Makro findest Du im Handbuch.

Gruß

acco
openSUSE Tumbleweed - LibreOffice 24.8.2.1

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Speichern Funktion um Daten in Base Datei zu speichern

Beitrag von RobertG » Mi 7. Mai 2014, 19:54

Hallo Freischreiber,

für eine externe Lösung (Frontend - Backend) ist natürlich eine externe Datenbank nötig. Wenn Du z.B. über das Internet auf Daten zugreifen willst, dann haben viele Hoster hier eine MySQL-Datenbank dabei. Die kannst Du mit den Base-Formularen, Abfragen und Berichten ansteuern.

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

Freischreiber
* LO-Experte *
Beiträge: 832
Registriert: Fr 28. Mär 2014, 10:41

Re: Speichern Funktion um Daten in Base Datei zu speichern

Beitrag von Freischreiber » Do 8. Mai 2014, 16:15

Hallo,

ich hab das Makro für die Sicherheitskopien im Handbuch gefunden.

Problem: Was bedeutet: das Makro mit dem Öffnen des Dokuments verknüpfen? Ich versuche unter Extras - Makros verwalten - Basic - Zuweisen dem Ereignis "Dokument öffnen" das Makro zuzuweisen. Aber es taucht dort nicht auf. Dort sind nur zwei "Bibliotheken", und kein Hinweis auf das im Dokument gespeicherte Makro!

Gruß
Freischreiber

Übrigens: Was bedeutet die Funktion in den LO-Optionen "Sicherheitskopie immer erstellen"? Die ist bei mir aktiviert, aber ich hab noch nirgendwo eine Sicherheitskopie gesehen...
Freischreiber nutzt seit 1/2025 LibreOffice Version 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de

Acco
Beiträge: 94
Registriert: Fr 31. Jan 2014, 16:41

Re: Speichern Funktion um Daten in Base Datei zu speichern

Beitrag von Acco » Do 8. Mai 2014, 17:16

Hallo Freischreiber,

1. Extras - Anpassen - Ereignisse - Dokument öffnen - Da das Makro eintragen (beachten: in "Speichern in..." Auswahlfeld: die DB eintragen.)

2. Extras - Optionen - Pfade - Sicherungskopien. Da werden die Sicherungskopien gespeichert

Gruß

acco
openSUSE Tumbleweed - LibreOffice 24.8.2.1


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.



Antworten