🙏 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. 🤗

BUG Formularhintergrund wird beim Aufklappen eines Datumsfeldes schwarz

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
RBOCK
Beiträge: 9
Registriert: Mi 14. Jul 2021, 18:32

BUG Formularhintergrund wird beim Aufklappen eines Datumsfeldes schwarz

Beitrag von RBOCK » Di 11. Jan 2022, 18:33

Hallo Zusammen,

ich habe schon länger einen Fehler in einer Base Datenbankdatei. Ich schätze seit ca. einem Jahr. Ich hatte gehofft das würde sich von alleine erledigen, aber falsch gedacht. Der Formularhintergrund wird beim Aufklappen eines Datumsfeldes zur Anlage eines neuen Datensatzes nach makrogesteuertem Aufruf und Maximieren des Formulares, schwarz.

Hier die genaue Abfolge:

1. Datei wird über das Windows Startmenü direkt geöffnet ohne vorher LibreOffice zu öffnen.
2. Das Formular "Arbeitserfassung_ab_06_2021" wird per Makro (siehe unten) automatisch geöffnet, welches über Extras,
Anpassen in der Formular-Ansicht der Datei dem Ereignis "Dokument öffnen" zugewiesen wurde.

Sub FormularArbeitserfassung_ab_06_2021oeffnen
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm AS OBJECT

oController= ThisDatabaseDocument.CurrentController
If NOT ( oController.isConnected() ) Then oController.connect()
ThisDatabaseDocument.formdocuments.getbyname("Arbeitserfassung_ab_06_2021").open
End Sub

3. Das Formular "Arbeitserfassung_ab_06_2021" wird per Makro (siehe unten) automatisch maximiert, welches über Extras,
Anpassen in der Entwurfsansicht des Formulares "Arbeitserfassung_ab_06_2021" dem Ereignis "Dokument öffnen"
zugewiesen worden ist.

Sub FormularArbeitserfassung_ab_06_2021maximieren
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm AS OBJECT
DIM oFrame AS OBJECT
DIM oWin AS OBJECT
oframe = Thiscomponent.currentcontroller.frame
owin = oframe.getContainerWindow()
oWin.IsMaximized = True
End sub

4. Klick auf "Neuer Datensatz" in unterer Menüleiste von LibreOffice (keine erstellte Schaltfläche im Formular)
5. Klick auf den Pfeil des Datumsfeldes, damit es aufklappt um das betreffende Datum auszuwählen und in diesem
Moment wird der Hintergrund des Formulares schwarz und nur durch die Minimierung oder das Herunterziehen des
Formularfensters vom oberen Bildschirmrand wird der Hintergrund wieder normal.


Anmerkungen:

- Die Datenbank-Datei wurde ursprünglich mit Open Office Base im Jahr 2013 erstellt.
- Der Fehler hängt aus meiner Sicht mit dem makrogesteuertem Aufruf des Formulares und dem Aufklappen des Datumsfeldes zusammen.
- Wenn die Datenbank-Datei wie oben beschrieben geöffnet wird, sieht man für einen kurzen Moment die Ansicht "Formulare", wo alle vorhanden Formulare gelistet sind (Seite 2 von Bug_Datumsfeld.pdf), anschließend wird der Hintergrund kurz schwarz (Seite 3 Bug_Datumsfeld.pdf) und danach wird das Formular "Arbeitserfassung_ab_06_2021" eingeblendet
- Ob ich gleich nach dem Aufruf des Formulares das Datumsfeld aufklappe oder vorher auf Datensatz hinzufügen klicke, macht keinen Unterschied.
- Es spielt keine Rolle, ob die Datenbank-Datei direkt geöffnet oder vorher LibreOffice Base gestartet wird.
- Wenn die Datenbank-Datei ohne das Makro "FormularArbeitserfassung_ab_06_2021oeffnen" gestartet, das Formular
anschließend manuell geöffnet und über das Makro "FormularArbeitserfassung_ab_06_2021maximieren" maximiert wird,
tritt der Fehler nicht auf.
- Ich hatte zuletzt die Option "Automatisch nach Updates suchen" in den Optionen deaktiviert und der Fehler trat
für eine kurze Zeit nicht auf.
- Ich habe den Modus für Windows von Dunkel zu Hell geändert, was aber auch keine Änderung brachte.
- Ich habe die LibreOffice Version 7.2.3.2 (x64) deinstalliert und die Version: 7.1.8.1 (x64) / LibreOffice Community
Build ID: e1f30c802c3269a1d052614453f260e49458c82c, CPU threads: 16; OS: Windows 10.0 Build 22000; UI render: Skia/Vulkan; VCL: win
Locale: de-DE (de_DE); UI: de-DE, Calc: CL installiert, aber der Fehler tritt trotzdem auf.

Falls Ihr einen Tipp habt, wäre ich dafür dankbar. Habt eine gute Zeit

Meine System Daten:

Edition Windows 11 Home
Version 21H2
Installiert am ‎10.‎12.‎2021
Betriebssystembuild 22000.376
Leistung Windows Feature Experience Pack 1000.22000.376.0

Prozessor 11th Gen Intel(R) Core(TM) i7-11700K @ 3.60GHz 3.60 GHz
Installierter RAM 16,0 GB (15,9 GB verwendbar)
Geräte-ID A4832EF3-C1D9-4C81-824E-C9A3847C9BF9
Produkt-ID 00325-80000-00000-AAOEM
Systemtyp 64-Bit-Betriebssystem, x64-basierter Prozessor
Stift- und Toucheingabe Für diese Anzeige ist keine Stift- oder Toucheingabe verfügbar.

Version: 7.2.3.2 (x64) / LibreOffice Community
Build ID: d166454616c1632304285822f9c83ce2e660fd92
CPU threads: 16; OS: Windows 10.0 Build 22000; UI render: Skia/Vulkan; VCL: win
Locale: de-DE (de_DE); UI: de-DE
Calc: CL

und

Version: 7.1.8.1 (x64) / LibreOffice Community
Build ID: e1f30c802c3269a1d052614453f260e49458c82c,
CPU threads: 16; OS: Windows 10.0 Build 22000; UI render: Skia/Vulkan; VCL: win
Locale: de-DE (de_DE); UI: de-DE, Calc: CL
Dateianhänge
Fehler_Daumsfeld_Makro.png
Fehler_Daumsfeld_Makro.png (57.66 KiB) 1258 mal betrachtet
Bug_Datumsfeld.pdf
(726.33 KiB) 124-mal heruntergeladen

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

Re: BUG Formularhintergrund wird beim Aufklappen eines Datumsfeldes schwarz

Beitrag von RobertG » Di 11. Jan 2022, 19:28

Hallo RBOCK,

ich würde erst einmal die Grafikeinstellungen unter LO ausprobieren (Extras → Optionen → LibreOffice → Ansicht).
Dann würde ich, weil das Ganze ja anscheinend in Einzelschritten funktioniert, das 2. Makro in das erste einbauen:

Code: Alles auswählen

oDoc = ThisDatabaseDocument.formdocuments.getbyname("Arbeitserfassung_ab_06_2021").open
oframe = oDoc.currentcontroller.frame
owin = oframe.getContainerWindow()
oWin.IsMaximized = True
(jetzt ohne die Variablendeklaration, nur für den Einstieg, wie Du die Elemente einander zuweist).

Natürlich jetzt das Makro bei Formular selbst raus nehmen.

Wenn das noch keinen Erfolg gibt, dann einen Abstand zwischen dem Öffnen und dem Maximieren einfügen:

Code: Alles auswählen

WAIT 1000
Wenn zwischendurch nämlich der Hintergrund erscheint, dann kann es sein, dass das Öffnen aus unerfindlichen Gründen länger braucht. Mit der Zahl 1000 kommst Du auf eine Sekunde Wartezeit zwischen den Befehlsausführungen.

Da ich weder die DB noch Windows hier habe kann ich das Ganze nicht testen.

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

RBOCK
Beiträge: 9
Registriert: Mi 14. Jul 2021, 18:32

Re: BUG Formularhintergrund wird beim Aufklappen eines Datumsfeldes schwarz

Beitrag von RBOCK » Mi 12. Jan 2022, 18:29

Hallo Robert,

ich danke Dir für die außerordentlich schnelle Rückmeldung. Ich habe die Ansichtseinstellungen geprüft und festgestellt, dass ich die Option "Skia für das Rendern verwenden" deaktivieren muss.

Das es so "einfach" wird, hatte ich nicht erwartet, zumal es früher geklappt hat und ich eher dachte, es liegt an dem Makro zum Öffnen des Formulares.

Danke auch für die weiteren Tipps. Werde ich testen.

Alles Gute weiterhin.
Dateianhänge
Loesung.png
Loesung.png (32.54 KiB) 1197 mal betrachtet


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