🙏 Bitte helfen Sie uns das LibreOffice Forum zu erhalten. 🙏
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.

🍀 Wir hoffen auf Ihre Unterstützung - vielen Dank!🍀

❤️ 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. 🤗

[gelöst] Standardeinstellung für Spaltenbreite in Tabellendatenansicht dauerhaft ändern

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
Benutzeravatar
Anodos
Beiträge: 58
Registriert: Di 12. Apr 2016, 11:15
Wohnort: Odenwald

[gelöst] Standardeinstellung für Spaltenbreite in Tabellendatenansicht dauerhaft ändern

Beitrag von Anodos » So 24. Mär 2024, 17:15

Hallo Leute,

Beim Erstellen von neuen Tabellen innerhalb einer Datenbank stört mich die Standardeinstellung für die Spaltenbreite in der Tabellendatenansicht, die nur 2,27 cm beträgt. Es ist sehr lästig, bei sämtlichen Spalten (bzw. bei jeder einzelnen Spalte) zunächst das Häkchen „Automatisch“ entfernen und dann den gewünschten Wert einzugeben zu müssen, um die Spaltenbreite auf ein mir angenehmes Maß zu verbreitern. Habe ich nämlich eine Tabelle mit mehreren Hundert Datensätzen paßt sich die Spaltenbreite via Doppelklick am rechten Spaltenrand nur auf die auf dieser Seite sichtbaren Datenfelder an, nicht aber auf alle Datenfelder, die zu dieser Spalte gehören. Da ich die Datensätze (bzw. Tabellen) nur für Serienbriefe und nicht zum Ausdrucken benötige, spielte eine (leicht) übergroße Standardbreite der Spalten keine Rolle, ich hätte aber auf Anhieb eine gute Übersicht, ohne jedesmal händisch sämtliche Spaltenbreiten ändern zu müssen.

Es wundert mich, daß in den Optionen lediglich die Verbindungen sowie registrierten Datenbanken auftauchen, nirgends aber Standardeinstellungen wie z. B. für die Spaltenbreite etc. editiert werden können. Habe ich da etwas übersehen? Eine (längere) Googe-Suche half mir bei meinem Problem nicht weiter, sondern erbrachte nur „Treffer“, die mit meinem Problem kaum bis gar nichts zu tun haben.

Grüße
Ransom
Zuletzt geändert von Anodos am Mo 25. Mär 2024, 19:44, insgesamt 1-mal geändert.
LibreOffice 7.3.7.2 (x64) + 7.4.5.1 (x32) + OpenOffice 4.1.13 (parallel) unter Win 10 Pro (22H2)

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

Re: Standardeinstellung für Spaltenbreite in Tabellendatenansicht dauerhaft ändern

Beitrag von RobertG » So 24. Mär 2024, 19:47

Die Breite der Spalten in Tabellen bleibt doch gespeichert, oder ist das bei Dir nicht der Fall. Da ziehe ich dann einfach nur die Spalten auf die jeweils gewünschte Breite. Sobald ich das mache ist die automatische Breite nicht mehr aktiv.

Das die automatische Spaltenbreite 2,27 cm beträgt stimmt bei mir überhaupt nicht. Die scheint mir eher davon abhängig zu sein, wie viel Platz die Spaltenüberschrift beansprucht. Stelle ich das Feld "ID" auf automatisch, so ist die Breite hier unter 1 cm. Daneben habe ich ein Feld "Rechnung_ID" stelle ich das auf automatisch, so springt das Feld auf über 3 cm. Der Leerraum links und rechts von der Bezeichnung bei beiden Feldern ist gleich groß. Der Automatikwert ist also kein Standardwert, der irgendwo eingestellt werden könnte.

In Abfragen funktioniert das nicht. Die übernehmen, wenn sie die Tabellenstruktur ihrer Datengrundlage durchschauen, die Formatierung der Tabellen.
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

Benutzeravatar
Anodos
Beiträge: 58
Registriert: Di 12. Apr 2016, 11:15
Wohnort: Odenwald

Re: Standardeinstellung für Spaltenbreite in Tabellendatenansicht dauerhaft ändern

Beitrag von Anodos » So 24. Mär 2024, 23:26

RobertG hat geschrieben:
So 24. Mär 2024, 19:47
Die Breite der Spalten in Tabellen bleibt doch gespeichert, oder ist das bei Dir nicht der Fall. Da ziehe ich dann einfach nur die Spalten auf die jeweils gewünschte Breite. Sobald ich das mache ist die automatische Breite nicht mehr aktiv.
Doch, die Breite meiner Spalten bleibt gespeichert, nur ist ja mein Problem, die gewünschte Breite aufwendig bei jeder einzelnen Spalte erst einmal herzustellen.
RobertG hat geschrieben:
So 24. Mär 2024, 19:47
Das die automatische Spaltenbreite 2,27 cm beträgt stimmt bei mir überhaupt nicht. Die scheint mir eher davon abhängig zu sein, wie viel Platz die Spaltenüberschrift beansprucht.
Ich habe einmal die Spaltenüberschrift einer Spalte extra übertrieben verlängert. Formatiere ich dann die Spaltenbreite, ist zunächst kein Wert zu sehen, nur das Häkchen für „Automatisch“, entferne ich dieses Häkchen, taucht der Wert 2,27 cm auf.
LibreOffice 7.3.7.2 (x64) + 7.4.5.1 (x32) + OpenOffice 4.1.13 (parallel) unter Win 10 Pro (22H2)

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

Re: Standardeinstellung für Spaltenbreite in Tabellendatenansicht dauerhaft ändern

Beitrag von RobertG » Mo 25. Mär 2024, 19:13

Wenn Du "Automatisch" bei der Spaltenbreite hast, dann passt sich die Breite dem Feldtitel an. Klickst Du "Automatisch" weg, dann sucht sich eben Base einen Standardwert. Und der liegt dann bei 2,27 cm, was bei vorher breiteren Feldern dazu führt, dass sie jetzt manuell schmaler eingestellt werden. Der Wert ist übrigens nahezu identisch mit dem von Calc (2,26 cm). Und auch den kannst Du nicht in den normalen Einstellungen ändern. Auch in den Experteneinstellungen geht das nicht.

Also: Spalten händisch auf die gewünschte Breite ziehen und gut ist.
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

Benutzeravatar
Anodos
Beiträge: 58
Registriert: Di 12. Apr 2016, 11:15
Wohnort: Odenwald

Re: Standardeinstellung für Spaltenbreite in Tabellendatenansicht dauerhaft ändern

Beitrag von Anodos » Mo 25. Mär 2024, 19:44

RobertG hat geschrieben:
Mo 25. Mär 2024, 19:13
… Und auch den kannst Du nicht in den normalen Einstellungen ändern. Auch in den Experteneinstellungen geht das nicht.
Das ist schade, aber damit ist zumindest meine Ausgangsfrage gelöst.

Was mich ebenfalls (mittlerweile) wundert, ist, daß manuell eingestellte Spaltenbreiten bei einem Neustart von Windows wieder verschwunden sind – allerdings passiert das nur mit der 64-bit-Version von LO Base. Bearbeite ich die Tabelle(n) mit der 32-bit-Version von LO Base (oder auch OO Base), dann bleiben die eingestellten Spaltenbreiten auch nach einem Neustart von Windows erhalten. Wenn ich solch eine odb-Datei jemandem weitergebe, der nur die 64-bit-Version von LO Base (incl. JRE-64) auf seinem System installiert hat, dann findet dieser auch wieder nur die Tabelle mit den zuerst vorhandenen (und viel zu schmalen) Spaltenbreiten vor (gerade eben in einer VM ausprobiert). Das ist nicht nur schade, sondern richtig ärgerlich.
LibreOffice 7.3.7.2 (x64) + 7.4.5.1 (x32) + OpenOffice 4.1.13 (parallel) unter Win 10 Pro (22H2)

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

Re: [gelöst] Standardeinstellung für Spaltenbreite in Tabellendatenansicht dauerhaft ändern

Beitrag von RobertG » Di 26. Mär 2024, 11:29

Das für saubere Eingaben gedachte Modul ist nun einmal ein Formular, nicht die Tabelle. Ich habe auch schon hin und wieder den Verlust von Formatierungen bei Tabellen aus unerfindlichen Gründen gehabt. Fällt mir besonders bei Feldern auf, die so etwas wie Währungen oder Prozentsätze anzeigen sollen. Da muss irgendetwas beim Packen der Datei zum Abschluss schief gehen, denn diese Einstellungen sind direkt in der content.xml enthalten. Bei Formularen ist das anders. Das sind vom Prinzip her komplette Writer-Dateien, die in der Base-Datei stecken. Da ist es mir noch nie passiert, dass eine Feldformatierung einfach so verloren ging.
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

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: [gelöst] Standardeinstellung für Spaltenbreite in Tabellendatenansicht dauerhaft ändern

Beitrag von F3K Total » Di 26. Mär 2024, 17:25

Moin,
gerade unter LO/Windows10 getestet. Mit dem folgenden Makro werden alle Spalten in allen Tabellen einer .odb-Datei mit eingebetteter HSQL Datenbank auf eine Breite von 3,00 cm eingestellt.

Code: Alles auswählen

Sub Define_Columns_Width
    if not Thisdatabasedocument.currentController.isconnected then Thisdatabasedocument.currentController.connect
    oConnection = Thisdatabasedocument.currentController.activeConnection
    oTables = oConnection.Tables
    For i = 0 to oTables.count -1
        oTable = oTables(i)
        oColumns = oTable.Columns
        for k = 0 to oColumns.count - 1
            oColumn = oColumns(k)
            oColumn.width = 300 'Spaltenbreite 3,00 cm
        next k
    next i
    ThisDatabasedocument.store
End Sub
Diese Breite steht auch nach erneutem Öffnen zur Verfügung.
Natürlich kann man jede einzelne Spalte auch nach ihrem Namen, Datentyp oder z.B. bei VARCHAR nach deren max. Länge ansprechen und die Spaltenbreite individuell einstellen.

Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

Benutzeravatar
Anodos
Beiträge: 58
Registriert: Di 12. Apr 2016, 11:15
Wohnort: Odenwald

Re: [gelöst] Standardeinstellung für Spaltenbreite in Tabellendatenansicht dauerhaft ändern

Beitrag von Anodos » Do 28. Mär 2024, 14:05

RobertG hat geschrieben:
Di 26. Mär 2024, 11:29
Ich habe auch schon hin und wieder den Verlust von Formatierungen bei Tabellen aus unerfindlichen Gründen gehabt.
Genau das ist der Punkt. Es ist nicht nachvollziehbar, nach welchen Kriterien LO Base Formatierungen bei Tabellen erhält. Ich habe aber mittlerweile doch wieder einen Weg gefunden: Man darf nur und ausschließlich mit LO Base (x32) die Tabellenbreiten bearbeiten, um diese dauerhaft zu erhalten, und sämtliche Tabellen einer Datenbank müssen in einem Rutsch formatiert werden. Dann bleiben die Tabellenbreiten sogar erhalten, wenn die Datenbank mit LO Base (x64) oder OO Base geöffnet wird.
F3K Total hat geschrieben:
Di 26. Mär 2024, 17:25
Natürlich kann man jede einzelne Spalte auch nach ihrem Namen, Datentyp oder z.B. bei VARCHAR nach deren max. Länge ansprechen und die Spaltenbreite individuell einstellen.
Meinen herzlichen Dank. Dein Makro hat wunderbar funktioniert, auch nachdem ich den Wert auf „600“ bzw. „6,00 cm“ geändert hatte. Wenn es Dir nicht zuviel Umstände bereitet: Wie sähe denn solch ein Makro mit vordefinierten Spaltennamen und individuellen Spaltenbreiten aus, z. B. Name (5 cm), Vorname (4 cm) PLZ (1,5 cm)? Aus der Struktur, denke ich, könnte ich mir dann ein auf meine Bedürfnisse zugeschnittenens Makro (mit weiteren Spaltennamen und Spaltenbreiten) erstellen, das die immer wieder gleichen Adreßdatenbanken generierte.

Grüße
Anodos
LibreOffice 7.3.7.2 (x64) + 7.4.5.1 (x32) + OpenOffice 4.1.13 (parallel) unter Win 10 Pro (22H2)

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: [gelöst] Standardeinstellung für Spaltenbreite in Tabellendatenansicht dauerhaft ändern

Beitrag von F3K Total » Do 28. Mär 2024, 17:10

Anodos hat geschrieben:
Do 28. Mär 2024, 14:05
Wie sähe denn solch ein Makro mit vordefinierten Spaltennamen und individuellen Spaltenbreiten aus ...
Bitteschön:

Code: Alles auswählen

Sub Define_Columns_Width_individual
aColumns = Array(Array("Name_Spalte1",400),Array("Name_Spalte2",300),Array("Name_Spalte3",500),Array("Name_Spalte4",600),Array("Name_Spalte5",700))
'aColumns = Array(Array("ID",100),Array("Nachname",500),Array("Vorname",500),Array("Anrede",150),Array("Strasse",700),Array("PLZ",200),Array("Ort",200))
if not Thisdatabasedocument.currentController.isconnected then Thisdatabasedocument.currentController.connect
oConnection = Thisdatabasedocument.currentController.activeConnection
oTables = oConnection.Tables
For i = 0 to oTables.count -1
   oTable = oTables(i)
   oColumns = oTable.Columns
   for k = 0 to oColumns.count - 1
      oColumn = oColumns(k)
      for J = 0 to ubound(aColumns)
      if aColumns(j)(0) = oColumn.Name then
          oColumn.width = aColumns(j)(1) 'Spaltenbreite
      endif
      next j
   next k
   next i
ThisDatabasedocument.store
print "erledigt"
End Sub
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

Benutzeravatar
Anodos
Beiträge: 58
Registriert: Di 12. Apr 2016, 11:15
Wohnort: Odenwald

Re: [gelöst] Standardeinstellung für Spaltenbreite in Tabellendatenansicht dauerhaft ändern

Beitrag von Anodos » Sa 30. Mär 2024, 00:11

F3K Total hat geschrieben:
Do 28. Mär 2024, 17:10
Bitteschön:
Dankeschön!

Es hat zwar ein paar Versuche gebraucht, bis ich gemerkt habe, daß die erste Zeile „aColumns“ lediglich die allgemeine Nomenklatur für eine Tabelle mit vordefinierten Spaltennamen und individuellen Spaltenbreiten darstellt (und ich diese weglassen muß) und vielmehr die zweite Zeile „'aColumns“ (aber ohne „'“) verwenden und an meine Bedürfnisse anpassen muß. Dann aber hat’s prima geklappt und erspart mir nun künftig eine Menge „Handarbeit“. Nochmals: vielen herzlichen Dank!

Grüße
Anodos
LibreOffice 7.3.7.2 (x64) + 7.4.5.1 (x32) + OpenOffice 4.1.13 (parallel) unter Win 10 Pro (22H2)


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