Text in Tabellenfeld soll umbrechen, derzeit nicht lesbar!

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

egerlach
****
Beiträge: 107
Registriert: Fr, 13.10.2006 20:21

Text in Tabellenfeld soll umbrechen, derzeit nicht lesbar!

Beitrag von egerlach »

Hallo,

ich will in einem Tabellenfeld in einem Formular ein Textfeld bearbeiten. Es enthält viel Freitext (Bemerkung). Da ein Datensatz immer im Zusammenhang mit den vorherigen und nachfolgenden betrachtet und bearbeitet werden muß, ist ein Tabellenfeld in der Darstellung einer Tabelle die einzige Wahl.
Wie bewege ich OO-Base, daß der Text umgebrochen wird auf z.B. Spaltenbreite und nicht der größte Teil unsichtbar rechts unter der nächsten Spalte verschwindet?? Es reicht nicht die Zeilenhöhe zu verändern.

Dieses feature ist bei Access meine ich damit gelöst, daß bei Doppelklick auf das Feld der Text umbricht in ein Textfeld mit vertikalem Scrollbalken in der genau der Höhe einer Zeile.

Bild

danke schon mal
Eckard OO 2.0.2 (in OO 2.0.3 schon anderst??)
egerlach
****
Beiträge: 107
Registriert: Fr, 13.10.2006 20:21

Beitrag von egerlach »

Habe das so gelöst: unterhalb des Tabellenformulares (was korrekt offenbar Tabellen-Kontrollfeld heißt) habe ich ein Textfeld eingefügt. Offenbar ordnet OO diesem Feld automatisch die gleiche Tabelle wie dem Tabellen-Kontrollfeld zu und offenbar ordnet OO diesem TExtfeld genauso automatisch die Abhängigkeit von dem aktuellen Satz in der Tabelle zu. Jetzt habe ich das große TExtfeld in einem extra-FEld unter der Tabelle angezeigt, dort kann ich die Eingenschaft "mehrzeilig" auswählen. Und schon habe ich dort den gesamten Text des aktuellen Datensatzes im Blick. Schön!
Würde mich natürlich interessieren wo die Verknüpfung abgelegt ist, denn wenn die mal plötzlich nicht mehr da ist, weiß ich nicht wie ich die wieder herstellen kann. Weiß das jmd? Siehe dazu meine parallel-Anfrage in diesem Formum: viewtopic.php?t=9436 , es läuft auf gleiche hinaus.
Mihilist
****
Beiträge: 120
Registriert: Di, 25.04.2006 15:27
Wohnort: Nürnberg
Kontaktdaten:

Beitrag von Mihilist »

Hallo,
egerlach hat geschrieben:Habe das so gelöst: unterhalb des Tabellenformulares (was korrekt offenbar Tabellen-Kontrollfeld heißt) habe ich ein Textfeld eingefügt.
Das hätte ich dir auch vorgeschlagen.

Alternativ kannst du in der Entwurfsansicht auf die Spalte rechtsklicken und den Dialog "Eigenschaften" aufrufen, da kannst du dann genau wie für das Textfeld auch die Eigenschaft Mehrzeilig einstellen. Allerdings sieht ein mehrzeiliger Text meinem Geschmack nach in einer Tabelle nicht so gut aus ;)

Doppelklick auf die Tabelle führt dich zu den Eigenschaften der Tabelle, daher hast du das vermutlich noch nicht gefunden. Wenn das Eigenschaften-Fenster offen ist kannst du aber auch direkt auf die Spalten (glaub es müssen die Überschriften sein) klicken.
egerlach hat geschrieben:Offenbar ordnet OO diesem Feld automatisch die gleiche Tabelle wie dem Tabellen-Kontrollfeld zu und offenbar ordnet OO diesem TExtfeld genauso automatisch die Abhängigkeit von dem aktuellen Satz in der Tabelle zu.
Grob gesagt: Richtig.

Oder um Toxitom zu zitieren: "Mach dir das Prinzip klar!" :lol:

Das Formular hat ein ResultSet, und zwar höchstens eines. Darin sind demnach die Datensätze einer (DB-) Tabelle (oder einer Abfrage) - die (meisten) Steuerelemente haben garkeine eigene Datenbankverbindung, können sich aber Daten von "ihrem" Formular holen. Und da ist ja nun schon eine Tabelle zugeordnet, und aus dieser Tabelle ein Datensatz angewählt. Demnach wird ein Steuerelement immer die ihm zugewiesene Spalte aus eben der Tabelle anzeigen oder bearbeiten.
Die angezeigte Tabelle im Formular ist auch nur ein Steuerelement, das sich Daten vom ResultSet des Formulars holt und diese anzeigt.

Weitere Tabellen kannst du mit Hilfe von Subformularen einfügen, wenn das nötig ist.

Grüßle
Thomas
egerlach
****
Beiträge: 107
Registriert: Fr, 13.10.2006 20:21

Beitrag von egerlach »

Mihilist hat geschrieben:
egerlach hat geschrieben:Offenbar ordnet OO diesem Feld automatisch die gleiche Tabelle wie dem Tabellen-Kontrollfeld zu und offenbar ordnet OO diesem TExtfeld genauso automatisch die Abhängigkeit von dem aktuellen Satz in der Tabelle zu.
Grob gesagt: Richtig.

Oder um Toxitom zu zitieren: "Mach dir das Prinzip klar!" :lol:
Nachdem mir OO 2.0.3 mein mühsam erstelltes und funktionierendes Formular zerstört hat (es ist einfach nicht mehr da!) habe ich wieder ein Textfeld eingefügt. Diesmal läuft das Feld NICHT mit. Es wird bei Wechsel der PLZ (sehr mühsam ohne Auswahlfeld: filter aufrufen, eingeben, Filter anwenden Klicken, ohhhhjjjeee!!! ) einmal gefüllt und dann nicht mehr, wenn ich durch Datensätze gehe. Was ist denn jetzt kaputt? - Das ist der Beweis: es wird eben NICHT automatisch mit dem Datensatzzeiger der Tabelle verknüft. - Wie denn auch: irgendwo muß doch festgelegt werden, welches Steuerlement der Master ist. Oh ich hasse diese Automatismen (wei bei Microsoft-Produkten) auch wenn die gut gemeint sind, man muß dann immer haarscharf genauso denke wie die Autoren. Wehe wenn nicht ... MS Access war in dieser Sache schon bei 1.1 schon besser: es wurden die Abhängigkeiten explizit eingetragen.

Nachtrag:
Ich stelle gerade fest, daß es *2* Kontextmenüs für ein Textfeld gibt: "Formular" und "Kontrollfeld". Weiß der Geier was ich am Samstag zufällig wie eingestellt hatte und das Textfeld mitlief, jetzt läuft es nicht mehr mit. Unter "Formular" habe ich die Tabelle pers eingetragen . Sonst bekommt ich unter "Kontrollfeld" gar nicht das Datenfeld "Historie" zur Auswashl angezeigt. Was muß denn sonst noch alles angeklickt sein, damit das Feld mitläuft. Gibt es vielleicht noch weitere Kontextmenüs?

Gruss
Eckard
Mihilist
****
Beiträge: 120
Registriert: Di, 25.04.2006 15:27
Wohnort: Nürnberg
Kontaktdaten:

Beitrag von Mihilist »

Hallo,
egerlach hat geschrieben:Nachdem mir OO 2.0.3 mein mühsam erstelltes und funktionierendes Formular zerstört hat (es ist einfach nicht mehr da!)
Das passiert mir auch recht oft :(
Da hilft nur: Viele Sicherheitskopien und sehr viel Geduld. Zumindest in der Entwicklung... Angeblich läuft es stabil, wenn es denn mal läuft ;)
egerlach hat geschrieben:Diesmal läuft das Feld NICHT mit. Es wird bei Wechsel der PLZ (sehr mühsam ohne Auswahlfeld: filter aufrufen, eingeben, Filter anwenden Klicken, ohhhhjjjeee!!! ) einmal gefüllt und dann nicht mehr, wenn ich durch Datensätze gehe. Was ist denn jetzt kaputt?
Kann diverse Ursachen haben, zB dass das Textfeld kein Datenfeld aus der Tabelle zugeordnet hat... Oder, was ich für das wahrscheinlichste halte: Du hast das Textfeld versehentlich nicht im Formular hinzugefügt, sondern außerhalb. Dann kann es natürlich auch nicht auf die Daten des ResultSets zugreifen.

In der Symbolleiste der Entwurfsansicht gibt es einen Button, der dir den Formularnavigator öffnet (da ist so ein Kompaß mit drauf), in dem Navigatorfenster kannst du schauen, ob das Textfeld zum Formular gehört oder nicht, und ihn verschieben, wenn nötig.
Wenn er zum Formular gehört und bei Eigenschaften->Daten ein Datenfeld gewählt ist sollte es eigentlich klappen.
egerlach hat geschrieben:Das ist der Beweis: es wird eben NICHT automatisch mit dem Datensatzzeiger der Tabelle verknüft. - Wie denn auch: irgendwo muß doch festgelegt werden, welches Steuerlement der Master ist.
Master and Slave-Spielchen? :D

Ne, was für ein Master? Du hast ein Formular, das ein ResultSet besitzt, und da stehen Datensätze aus einer Tabelle. Die Steuerelemente dieses Formulars greifen auf eben dieses ResultSet zu. Da braucht's keine Masters und Slaves, ergibt sich alles von alleine.
egerlach hat geschrieben:Ich stelle gerade fest, daß es *2* Kontextmenüs für ein Textfeld gibt: "Formular" und "Kontrollfeld".
Das Eigenschaftenfenster mit der Überschrift Formular ist nicht für's Textfeld, sondern für's Formular ;)

Generell ist es nicht verkehrt, mal ein paar Dokumentationen zu OOo zu lesen (zB die hier - gibts auch irgendwo als PDF, hab ich aber eben nicht gefunden. Kapitel 13 geht über Formulare), denn wenn man das Prinzip hat ist es wirklich recht ersichtlich. Ohne das Prinzip (mit diesen ganzen Datenformularen und logischen Unterformularen) ist es vermutlich unmöglich, wirklich dahinter zu steigen.

Daher auch eingangs das Zitat von Meister Toxitom: "Mach dir das Prinzip klar!" Ohne den Hintergrund wirst du nicht weiterkommen... Aber das gilt für alle (komplexeren) Programme, insbesondere für solche, die irgendwas mit Datenbanken zu tun haben.

Grüße
Thomas
Antworten