Seite 1 von 1

Frage zu Listenfelder (aus Video-Tutorial)

Verfasst: Fr 28. Jul 2017, 11:06
von hylli
In den Video-Tutorials zu OpenOffice Base...
http://de.openoffice.info/viewtopic.php ... 34#p237478
...wird im Video 07 auch die Möglichkeit beschrieben, wie man Listenfelder einsetzen kann. Im Beispiel wurden hier Haarfarben herangezogen.

Das Beispiel konnte ich gut nachvollziehen, und will es hier und da vielleicht auch einsetzen, zumindest wenn es Sinn macht.

Ich habe aber ein kleines Problem damit:
Im Beispiel werden Haarfarben direkt in der Tabelle "Haarfarbe "gepflegt, und dann als Listenfeld in einem Formular zur Verfügung gestellt.

Ich nehme jetzt einfach mal eine Adressdatenbank, bei der ich die Postleitzahlen analog der Haarfarbe in eine eigene Tabelle verfrachten will. Als Beispiel nenne ich mal den Datenbankaufbau auf Seite 97 aus dem Handbuch zu LibreOffice Base, siehe auch Screenshot.

Beispiel mit Frage:
Ich möchte eine neue Adresse in einem Formular einpflegen und stelle fest, dass die Postleitzahl noch nicht in der Tabelle Postleitzahl vorhanden ist.

Wenn ich im Formular mit der Postleitzahl als Listenfeld arbeite, dann kann ich meines Erachtens keine neuen Postleitzahlen einfügen, sondern muss den Umweg über ein separates Formular gehen und/oder die neue Postleitzahl direkt in der Tabelle einpflegen?!?

Frage also:
Wie bekomme ich das in einem Formular unter, dass ich sowohl auf den bereits erfassten Postleitzahlenbestand zugreifen kann, als auch neue Postleitzahlen (inkl. Ort) erfassen kann?

Hylli

Re: Frage zu Listenfelder (aus Video-Tutorial)

Verfasst: Fr 28. Jul 2017, 14:42
von Freischreiber
Hallo hylli,
Wie bekomme ich das in einem Formular unter, dass ich sowohl auf den bereits erfassten Postleitzahlenbestand zugreifen kann, als auch neue Postleitzahlen (inkl. Ort) erfassen kann?
Dafür nimmt man Kombinationsfelder. Hab ich aber selbst noch nie probiert.

Gruß
Freischreiber

Re: Frage zu Listenfelder (aus Video-Tutorial)

Verfasst: Fr 28. Jul 2017, 16:46
von RobertG
Hallo hylli,

das hat mich auch immer wieder beschäftigt.
Version einfach: Führe irgendwo in Deinem Formular als Nebenformular Tabellenkontrollfelder für Inhalte von Listenfeldern mit. Fehlt ein Eintrag für einen Ort bzw. eine Postleitzahl, so kannst Du das hier machen. Gehe anschließend zu Listenfeld und lasse das Listenfeld aktualisieren (Button in der Navigationsleiste). Dann kannst Du im aktuellen Formular auch den Fremdschlüssel für den neuen Eintrag lösen.
Version einfach ist in sofern einfach, als einfach zu erstellen. Die Bedienung ist allerdings gewöhnungsbedürftig.
Version etwas schwerer: Lass einfach die Aktualisierung des Listenfeldes über ein Makro automatisch ablaufen. Du hast aber immer noch separate Eingabefelder.
Version kompliziert, aber in der Nutzung einfach: Schreibe nur in Kombinationsfelder. Lass ein Makro nachsehen, ob das Fremdschlüsselfeld schon existiert und gegebenenfalls ein neues erstellen. Das komplette Makro dafür gibt es in verschiedenen Beispieldatenbanken zum Handbuch und ist auch im Handbuch beschrieben. Nimm einmal diese Beispieldatenbank Beispiel_Combobox_Listfeld.odb und probiere das aus.

Gruß

Robert

Re: Frage zu Listenfelder (aus Video-Tutorial)

Verfasst: Fr 28. Jul 2017, 19:01
von hylli
Hi,

da ich mich prinzipiell als absoluter Einsteiger in Sachen Datenbankerstellung sehe und von Makroprogrammierung sowieso keine Ahnung habe, werde ich wohl die einfache Variante nutzen müssen.

Ich habe zwar vor ca. 13-15 Jahren mal etwas SQL gelernt, u.a. auch wie man Tabellen mit SQL erstellt oder anpasst, aber im Wesentlichen hat es sich auf Abfragen (SELECT...) von Datenbanken beschränkt, weil ich eigentlich nur Abfragen auf Datenbanken machen musste.

Seit knapp 10 Jahren habe ich zum Abfragen solcher Datenbanken "Klickibunti"-Anwendungen zur Verfügung, die mir die meiste Arbeit abnehmen. Ins SQL muss ich nicht mehr eingreifen.

Nun möchte ich aber für den ein oder anderen Einsatzzweck bei uns kleine Datenbankanwendungen erstellen, dafür eignet sich für mich LibreOffice Base am besten.

Mit Datenbanken auf Basis einer einzelnen Tabelle oder evtl. zwei Tabellen, komme ich zwischenzeitlich zurecht, aber ab drei Tabellen mit Beziehungen zueinander, bekomme ich dann schon meine Probleme. :)

Natürlich könnte ich die Datenbanken - so groß sind die natürlich nicht - auf Basis einer Tabelle erstellen, aber ich würde diese dann doch gerne schon optimieren oder normalisieren, um Redundanzen soweit wie möglich zu vermeiden.

Danke an der Stelle!

Das was ich vorhabe stelle ich in separatem Thread vor, ich hoffe hier auf Eure Hilfe
a) bei der Erstellung des optimalen Datenbankschemas und
b) bei der Erstellung von einem oder mehreren Formularen zur Pflege der Datenbank inkl. Suchmöglichkeiten.

Weiterhin hoffe ich natürlich auf ein wenig Geduld, wenn ich etwas begriffsstutzig bin und nicht gleich alles verstehe, was ihr mir zu vermitteln versucht.

Abfragen dürfte ich denke ich soweit selbst hinbekommen, interessant könnten dann evtl. noch Berichte werden, z.B. Serienbriefe direkt aus der Datenbankanwendung heraus mit dem Report Builder - sofern das überhaupt möglich ist.

Das ganze möchte ich dann für mich auch möglichst detailliert dokumentieren, um für mich ein eigenes Nachschlagewerk zu schaffen. Gerne stelle ich es dann auch allen hier zur Verfügung.

Insgesamt möchte ich LibreOffice Base intensiver kennenlernen, um es bei uns im Betrieb gezielt einsetzen zu können.

Hylli :)