BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

[gelöst] Makros "Datenbankbackup" "Website_Aufruf"

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
malt14
Beiträge: 119
Registriert: Fr 7. Nov 2014, 06:21

[gelöst] Makros "Datenbankbackup" "Website_Aufruf"

Beitrag von malt14 » So 26. Sep 2021, 06:32

Guten Tag,

in neueren LO Versionen funktionieren die nützlichen Makros von RobertG

"Datenbankbackup" LO Version: 7.2.0.4 (x64)
lo_Datenbankbackup-LO_Version_7.2.0.4_(x64)2021-09-26-06-04-38.PNG
lo_Datenbankbackup-LO_Version_7.2.0.4_(x64)2021-09-26-06-04-38.PNG (69.26 KiB) 2105 mal betrachtet



und "Website_Aufruf" LO Version: 7.1.6.2 (x64)
lo_Datenbankbackup-LO_Version_7.2.0.4_(x64)2021-09-26-06-04-38.PNG
lo_Datenbankbackup-LO_Version_7.2.0.4_(x64)2021-09-26-06-04-38.PNG (69.26 KiB) 2105 mal betrachtet


nicht mehr.
Lässt sich dies beheben?


Grüße
Malt

Version: 7.1.6.2 (x64) / LibreOffice Community
Build ID: 0e133318fcee89abacd6a7d077e292f1145735c3
CPU threads: 6; OS: Windows 10.0 Build 19043; UI render: Skia/Raster; VCL: win
Locale: de-DE (de_DE); UI: de-DE
Calc: CL

Parallel
Version: 7.2.0.4 (x64) / LibreOffice Community
Build ID: 9a9c6381e3f7a62afc1329bd359cc48accb6435b
CPU threads: 6; OS: Windows 10.0 Build 19043; UI render: Skia/Vulkan; VCL: win
Locale: de-DE (de_DE); UI: de-DE
Calc: CL
Dateianhänge
lo_Website_Aufruf-Version_7.1.6.2_(x64)_2021-09-26-06-04-38.PNG
lo_Website_Aufruf-Version_7.1.6.2_(x64)_2021-09-26-06-04-38.PNG (48.75 KiB) 2105 mal betrachtet
Zuletzt geändert von malt14 am Di 28. Sep 2021, 17:24, insgesamt 1-mal geändert.

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Makros "Datenbankbackup" "Website_Aufruf"

Beitrag von RobertG » So 26. Sep 2021, 07:56

Hallo Malt,

beide Makros brauchen zum Auslösen einen Parameter. Der steht direkt in der Deklaration. Beim Backup muss inMax angegeben werden, bei dem Website-Aufruf muss das Ganze durch ein Formularfeld (Textfeld) ausgelöst werden.

Wie rufst Du die Makros auf?

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

malt14
Beiträge: 119
Registriert: Fr 7. Nov 2014, 06:21

Re: Makros "Datenbankbackup" "Website_Aufruf"

Beitrag von malt14 » So 26. Sep 2021, 11:02

Guten Tag Robert,

"Datenbankbackup", funktioniert noch in LibreOffice_7.1.6.2 jedoch nicht in 7.2.0.4, rufe ich über ein Symbol in der Symbolleiste auf, welches das Makro aufruft.

Code: Alles auswählen

REM  *****  BASIC  *****


SUB Datenbankbackup(inMax AS INTEGER)
	DIM oPath AS OBJECT
	DIM oDoc AS OBJECT
	DIM sTitel AS STRING
	DIM sUrl_Ziel AS STRING
	DIM sUrl_Start AS STRING
	DIM i AS INTEGER
    DIM k AS INTEGER
	oDoc = ThisComponent
	sTitel = oDoc.Title
	sUrl_Start = oDoc.URL
	DO WHILE sUrl_Start = ""
		oDoc = oDoc.Parent
		sTitel = oDoc.Title
		sUrl_Start = oDoc.URL
	LOOP
oPath = createUnoService("com.sun.star.util.PathSettings")
	FOR i = 1 TO inMax + 1
		IF NOT FileExists(oPath.Backup & "/" & i & "_" & sTitel) THEN
			IF i > inMax THEN
				FOR k = inMax - 1 TO 1 STEP -1
				IF FileDateTime(oPath.Backup & "/" & k & "_" & sTitel) <= FileDateTime(oPath.Backup & "/" & k+1 & "_" & sTitel) THEN
					IF k = 1 THEN
							i = k
							EXIT FOR
					END IF
				ELSE
					i = k + 1
					EXIT FOR
				END IF
				NEXT
			END IF
			EXIT FOR
		END IF
	NEXT
	sUrl_Ziel = oPath.Backup & "/" & i & "_" & sTitel
	FileCopy(sUrl_Start,sUrl_Ziel)
END SUB

SUB Daten_aus_Cache_schreiben
	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

SUB Backup_sofort
	Daten_aus_Cache_schreiben
	Datenbankbackup(10)
END SUB

Sub Datei_Aufruf

End Sub

Sub Macro1

End Sub

"Website_Aufruf" rufe ich im Feld des Formulars auf (das Formular bezieht sich auf eine Tabelle) mit linke Maustaste gedrückt. Eigenschaften Textfeld, Ereignisse "Maustaste gedrückt" Standard.Website_Aufruf.Website_Aufruf (document, Basic)

Code: Alles auswählen

REM  *****  BASIC  *****

SUB Website_Aufruf(oEvent AS OBJECT)
	REM Aufruf einer Website oder des Mailprogramms mit einer vorgegebenen Mailadresse
	DIM oFeld AS OBJECT
	DIM oShell AS OBJECT
	DIM stFeld AS STRING
	oFeld = oEvent.Source
	REM Den Text aus der Dateiauswahl auslesen
	stFeld = oFeld.Text
	IF stFeld = "" THEN
		EXIT SUB
	END IF
	IF InStr(stFeld,"@") THEN
		stFeld = "mailto:"+stFeld
	ELSEIF InStr(stFeld,"http://") OR InStr(stFeld,"https://") THEN
		stFeld = convertToUrl(stFeld)	'convertToUrl erkennt, dass mit http:// bereits eine Verbindung vorgegeben ist. file:/// wird nicht gesetzt
	ELSE	
	END IF
	REM Start des Files mit der entsprechenden URL-Verbindung
	oShell = createUnoService("com.sun.star.system.SystemShellExecute")
	oShell.execute(stFeld,,0)
END SUB

Das Problem trat erst nach der Umstellung auf LibreOffice_7.1.6_Win_x64 auf. Unter LibreOffice_7.0.6_Win_x64 funktionierten beide Makros problemlos.
Verändert habe ich in den Datenbanken nichts, so weit ich weiß.
Mit 7.1.6 gibt es Schwierigkeiten beim Kopieren und Einfügen von Texten in Text Felder. Neue Datensätze werden nur angelegt, wenn man nach dem Einfügen ein Leerzeichen eingibt.

Es handelt sich um eine HSQLDB Datei, Java Version 8 Update 301.

Grüße
Malt

malt14
Beiträge: 119
Registriert: Fr 7. Nov 2014, 06:21

Re: Makros "Datenbankbackup" "Website_Aufruf"

Beitrag von malt14 » So 26. Sep 2021, 12:35

Guten Tag Robert,

kann das Makro "Datenbankbackup" Problem daran liegen, dass Version: 7.2.0.4 (x64) als Parallelinstallation in einem anderen Verzeichnis liegt?

Website_Aufruf funktioniert mit

Version: 7.0.6.2 (x64)
Build ID: 144abb84a525d8e30c9dbbefa69cbbf2d8d4ae3b
CPU threads: 6; OS: Windows 10.0 Build 19043; UI render: Skia/Raster; VCL: win
Locale: de-DE (de_DE); UI: de-DE
Calc: CL


nicht mit

Version: 7.1.3.2 (x64) / LibreOffice Community
Build ID: 47f78053abe362b9384784d31a6e56f8511eb1c1
CPU threads: 6; OS: Windows 10.0 Build 19043; UI render: Skia/Vulkan; VCL: win
Locale: de-DE (de_DE); UI: de-DE
Calc: CL


In 7.1.3.2 (x64) ändert sich die Formatierung, sobald man mit der Maus auf das Textfeld geht, von der eingestellten in die Standardformatierung Segoe UI, Standard, 9 pt, Hintergrund weiß. Das geschieht auch bei 7.2.0.4 (x64).

Grüße
Malt

Version: 7.1.6.2 (x64) / LibreOffice Community
Build ID: 0e133318fcee89abacd6a7d077e292f1145735c3
CPU threads: 6; OS: Windows 10.0 Build 19043; UI render: Skia/Raster; VCL: win
Locale: de-DE (de_DE); UI: de-DE
Calc: CL

Parallel
Version: 7.2.0.4 (x64) / LibreOffice Community
Build ID: 9a9c6381e3f7a62afc1329bd359cc48accb6435b
CPU threads: 6; OS: Windows 10.0 Build 19043; UI render: Skia/Vulkan; VCL: win
Locale: de-DE (de_DE); UI: de-DE
Calc: CL

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Makros "Datenbankbackup" "Website_Aufruf"

Beitrag von RobertG » So 26. Sep 2021, 15:48

Hallo Malt,

Der Aufruf des Datenbankbackups müsste über die Prozedur Backup_sofort erfolgen. Da wird dann Datenbankbackup mit einem Parameter (10) gestartet. Und das Fehlen des Parameters zeigt die Fehlermeldung an.

Wenn bei der Prozedur zum Websiteaufruf die Zelle selbst, auf die Du klickst, nicht korrekt ein Ereignis lieferst, dann kann das nur umgangen werden, indem Du den Pfad zu dem entsprechenden Feld beschreibst. Das wäre dann für oFeld so etwas wie

Code: Alles auswählen

oFeld = thisComponent.drawpage.forms.getByName("MainForm").getByName("txtWebsite")
Dabei müsstest Du dann schauen, wo bei Dir das Feld liegt. Oben beschrieben ist das für das Feld "txtWebsite" in dem Hauptformular "MainForm".

Das das Ganze direkt nicht klappt ist auf jeden Fall ein Bug. Bei mir unter OpenSUSE 15.2 64bit rpm Linux funktioniert das Ganze mit LO 7.2.1.2 einwandfrei.

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

malt14
Beiträge: 119
Registriert: Fr 7. Nov 2014, 06:21

Re: Makros "Datenbankbackup" "Website_Aufruf"

Beitrag von malt14 » So 26. Sep 2021, 16:15

Guten Tag Robert,

vielen Dank für Deine Hilfe.

"Datenbankbackup" funktioniert mit allen Versionen, die in C:\Program Files\LibreOffice liegen.
Bei denen, die in C:\Program Files\LibreOfficeParallel liegen nicht.

"Website_Aufruf"
In meinen odb Dateien sind in verschiedenen Tabellen mehrere Felder, bei denen ich "Website_Aufruf" benutze. Das zu umgehen, würde wohl zu umständlich.

Soll ich den Bug melden, wo? Scheint in Formularen nur Text Felder zu betreffen.

Malt

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Makros "Datenbankbackup" "Website_Aufruf"

Beitrag von RobertG » So 26. Sep 2021, 19:05

Hallo Malt,

greifen beide Versionen auf das gleiche Benutzerverzeichnis zu? Existiert dort der gleiche Pfad für die Backup-Dateien?

Nach den Screenshots müsste das aber nicht das Problem sein. Das Problem ist vielmehr, dass in der einen Version der Parameter (maximale Anzahl der Backups) nicht ausgelesen wird.

Bugs melden kannst Du hier: https://bugs.documentfoundation.org/. Das muss dort allerdings in Englisch erfolgen. Es scheint ja konkret darum zu gehen, dass die auslösende Eigenschaft nicht mehr da zu sein scheint. Das dann aber wohl in beiden Versionen - der direkt installierten und der parallel installierten.

Es gibt auch die Möglichkeit, die Bugs per Mail zu schicken. Den entsprechenden Zugang dazu finde ich gerade nicht. Nur muss das erst einmal jemand übersetzen und wenn da dann Base drauf steht, dann wird das meist mir überlassen. Nur kann ich ja den Bug nicht nachvollziehen.

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

malt14
Beiträge: 119
Registriert: Fr 7. Nov 2014, 06:21

Re: Makros "Datenbankbackup" "Website_Aufruf"

Beitrag von malt14 » So 26. Sep 2021, 21:36

Hallo Robert,

das Benutzerverzeichnis ist ein anderes, 4-Parallel. Dort gab es kein backup Verzeichnis.
In der ersten Installation ist es C:\Users\Owner\AppData\Roaming\LibreOffice\4\user\backup.

Ich legte an: C:\Users\Owner\AppData\Roaming\LibreOffice\4-Parallel\user\backup
Dort werden die backups jetzt gespeichert und das Makro funktioniert.

Ich werde versuchen, den Bug auf Englisch zu melden.

Vielen Dank für Deine Hilfe!

Grüße
Malt

malt14
Beiträge: 119
Registriert: Fr 7. Nov 2014, 06:21

Re: Makros "Datenbankbackup" "Website_Aufruf"

Beitrag von malt14 » Di 28. Sep 2021, 17:24

Bugs gemeldet

Basic Macro oEvent.Source execution in a form, started in a Text [VARCHAR] field
https://bugs.documentfoundation.org/sho ... ?id=144772

Text [VARCHAR] fields problem in forms, modified font format changes with mouse action to standard
https://bugs.documentfoundation.org/sho ... ?id=144773

Base, Text [VARCHAR] fields problems in tables, forms
https://bugs.documentfoundation.org/sho ... ?id=144745

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten