Daten aus einer Tabelle in ein Formular übernehmen

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

tobiasa
Beiträge: 2
Registriert: So, 27.07.2014 17:15

Daten aus einer Tabelle in ein Formular übernehmen

Beitrag von tobiasa »

Hallo allerseits,
ich erstelle gerade meine erste Datenbank und habe folgendes Problem:

Die Datenbank hat zur Zeit diese Struktur:
Die Tabellenstruktur
Die Tabellenstruktur
Beziehungen.jpg (123.99 KiB) 2763 mal betrachtet
Es werden Die Kontaktdaten von natürlichen Personen und die von Firmen abgespeichert.
Jeder Person/Firma sollen mehrere Adressen/Telefonnummern/Email-Adressen zugeordnet werden können.

Ich habe auch ein Eigabeformular für die Personendaten erstellt .
Das enthält drei Unterformulare, so dass die Daten in den entsprechenden Tabellen landen. Für Die Firmendaten gibt's ein extra Eingabeformular.
Das Eingabeformular
Das Eingabeformular
Formular.jpg (227.61 KiB) 2763 mal betrachtet
Die Formulare und die Tabellenstruktur sind konsistent und funktionieren soweit.

Mein Problem:
Ich möchte ein weiteres Eingabefeld im Haupformular (gelber Teil) haben, in dem man den Namen der Firma einträgt, damit eine Person einer Firma zugeordnet werden kann.
Wenn die Firma schon in der Tabelle "T11_Company" existiert, soll der Name dort erscheinen (sprich: so ähnlich wie beim Eingabefeld einer Suchmaschine).
Wenn ich den Datensatz dann speichere, soll der Wert in die Tabelle "T01_Person" oder eine neue Tabelle (PersonID, CompanyID) eingetragen werden!

Hat jemand dazu eine Idee wie man das lösen könnte? Oder bin ich auf dem Holzweg??

Vielen Dank im voraus!

Tobias
acco
***
Beiträge: 52
Registriert: So, 04.05.2014 19:54

Re: Daten aus einer Tabelle in ein Formular übernehmen

Beitrag von acco »

Hallo tobiasa,

willkommen im Forum.
tobiasa hat geschrieben:Wenn ich den Datensatz dann speichere, soll der Wert in die Tabelle "T01_Person" oder eine neue Tabelle (PersonID, CompanyID) eingetragen werden!
Wenn eine Historie über die bisherigen Arbeitsstellen der Person gewünscht ist, dann nimm die neue Tabelle (PersonID, CompanyID). Wenn die letzte bekannte Arbeitsstelle ausreicht, kannst Du die CompanyID auch in der Personentabelle speichern. Vielseitiger ist Variante1, aber es kommt auf Deine Vorstellungen und den konkreten Einsatz der DB an. Einfacher ist Variante2, weil nur ein Tabellenfeld in der Personentabelle zugefügt werden muß.
tobiasa hat geschrieben:Ich möchte ein weiteres Eingabefeld im Haupformular (gelber Teil) haben, in dem man den Namen der Firma einträgt, damit eine Person einer Firma zugeordnet werden kann.
Füge dem gelben Hauptformular ein Listenfeld hinzu, das den CompanyNamen anzeigt, jedoch die CompanyID in der Personentabelle speichert.

Das Listenfeld ist wie folgt aufgebaut (unter Reiter "Daten"):
Datenfeld: das neu anzulegende Feld in der Personentabelle, z.B. CompID
Art des Listeninhalts: SQL
Listeninhalt: SELECT "Name", "CompanyID" FROM "T11_Company" ORDER BY "Name"
Gebundenes Feld:1 (0=Name, 1=CompanyID)

Allerdings muß der Company-Name bereits bekannt sein, Neueingaben sind nicht möglich. Wenn Du das willst, braucht es ein "Kombinationsfeld als Listenfeld mit Eingabemöglichkeit". Wie das angelegt wird, ist im LibreOffice-Handbuch beschrieben. Das funktioniert mit Makros, Du müsstest Dich da einarbeiten. Die Handbücher gibt es hier zum Download:http://de.libreoffice.org/hilfe-kontakt/handbuecher/ Runterscrollen bis Base, da "Handbuch 09 - Makros" auswählen und im Kapitel "Kombinationsfelder als Listenfelder mit Eingabemöglichkeit" nachlesen.

Viel Erfolg und Freude mit Deiner DB.

Gruß acco
openSUSE 13.1, LibreOffice 4.3.2.2
tobiasa
Beiträge: 2
Registriert: So, 27.07.2014 17:15

Re: Daten aus einer Tabelle in ein Formular übernehmen

Beitrag von tobiasa »

Hallo acco,

vielen lieben Dank für deine Hilfe.
Ich habe die Variante mit dem Listenfeld schon eingebaut --> sehr schön. Da wird es noch ein paar mehr von geben :D
Auch deine Arbeitgeber-Historie werde ich mal ausprobieren.
Und die etwas kompilzierte Makro-Geschichte ist was für später...

Gruß,
Tobias
Antworten