1 Formular mit 2 Tabellen füttern

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Open_Office_Freak
***
Beiträge: 52
Registriert: Di, 04.11.2008 14:18

1 Formular mit 2 Tabellen füttern

Beitrag von Open_Office_Freak »

Hallo

habe mir jetzt die Arbeit gemacht eine Tabelle mit Mietern und eine Tabelle mit Räumen zu erstellen, weil vorher alles in einer Tabelle zusammengeklatscht war

Das Formular hatte ja schon alle Felder. Nur jetzt habe ich ein Problem:

Ich kann die Felder die vorher von der Gesamttabelle gefüttert worden sind nicht mehr zuordnen, die Felder aus der Tabelle für die Räume werden nicht aufgelistet

Was muss ich tun? Ich wollte eine Beziehung zwischen diesen beiden Tabellen herstellen, doch werde ich mit englischen Fehlermeldungen überschüttet.

Wie kann ich die Felder zuordnen, so dass sie genau die Daten wieder enthalten, die ich jetzt in 3 Stunden Kleinarbeit in die 2. Tabelle namens "Räume" verschoben habe. Die
entsprechenden Spalten habe ich aus der ursprünglichen Gesamttabelle schon gelöscht. Die Mieter sind Gott-Sei-Dank alle noch da.
juetho
******
Beiträge: 617
Registriert: Di, 20.04.2010 15:46
Wohnort: Berlin

Re: 1 Formular mit 2 Tabellen füttern

Beitrag von juetho »

Open_Office_Freak hat geschrieben:Was muss ich tun? Ich wollte eine Beziehung zwischen diesen beiden Tabellen herstellen, doch werde ich mit englischen Fehlermeldungen überschüttet.
Und wir sollen raten, wie die Fehlermeldungen lauten? Im Handbuch (doppelseitig V40) Seite 61 ff. wird die Verknüpfung von Tabellen beschrieben.
Wie kann ich die Felder zuordnen, so dass sie genau die Daten wieder enthalten, die ich jetzt in 3 Stunden Kleinarbeit in die 2. Tabelle namens "Räume" verschoben habe.
Ohne genaue Kenntnis dessen, was du gemacht hast, kann nicht sinnvoll empfohlen werden. Deshalb gibt es in Allgemeine Hinweise zur Forumsbenutzung den Vorschlag, ein Beispieldokument hochzuladen.

Grundsätzlich gibt es folgende Möglichkeiten:
* Eine Abfrage erstellen, die alle Felder aus allen Tabellen enthält; das Ergebnis dieser Abfrage liefert die Datenmenge für das Formular.
* Mit Haupt- und Unterformular arbeiten. Das klappt bei einer 1:n-Beziehung.
* Mit einem Formular arbeiten, das zwei Teilformulare enthält; jedes Teilformular bezieht sich auf eine der Tabellen. Das ist nützlich bei einer n:m-Beziehung.

Da ich (anders als Robert) deine Datenstruktur nicht untersucht habe, kann und will ich dir nichts Genaueres vorschlagen. Jürgen

PS. Ob etwas im Formular angezeigt wird, hat nichts (NICHTS!!!) damit zu tun, ob es in der Tabelle gespeichert ist. Maßgebend für den Inhalt einer Tabelle ist das, was über Tabelle > Öffnen zu sehen ist.
Situation: LibO 3.6 auf Win 7 Home Premium (64-bit) mit MySQL (localhost) über JDBC
NTClient
****
Beiträge: 106
Registriert: Di, 19.07.2005 16:09

Re: 1 Formular mit 2 Tabellen füttern

Beitrag von NTClient »

Wenn es darum geht, die Datensätze zweier Tabellen in einem Formular zu verwursten, ist der Formularnavigator das schlagkräftigste Tool in Openoffice.

In der Textdatei ANSICHT - SYMBOLLEISTEN und "Formular Entwurf", "Formular Navigation" und "Formular Steuerelemente" einschalten. Über die Schaltfläche Entwurfmodus ein/aus in den Entwurfsmodus wechseln. Dann den Formularnavigator über die Schaltfläche "Formularnavigator" einschalten.

Im Formularnavigator ein neues Formular anlegen, für das Formular über rechte Maustaste EIGENSCHAFTEN, Register DATEN eine Verknüpfung zur ersten Tabelle herstellen (DATENQUELLE, ART DES INHALTS, INHALT). Dann in dem neuen Formular über rechte Maustaste ein neues Unterformular anlegen. Dann kann man die Baumstruktur im Formularnavigator erkennen. Für das Unterformular wieder Tabelle wählen.

Dann kann man über EIGENSCHAFTEN des Unterformulars, Register DATEN die Tabellen verknüpfen. Eine Beziehung zwischen den Tabellen in der Datenbank ist nicht erforderlich. Man kann auf die Art sogar Tabellen verschiedener Datenbanken verknüfen.

Gruß Bernd!
juetho
******
Beiträge: 617
Registriert: Di, 20.04.2010 15:46
Wohnort: Berlin

Re: 1 Formular mit 2 Tabellen füttern

Beitrag von juetho »

NTClient hat geschrieben:Eine Beziehung zwischen den Tabellen in der Datenbank ist nicht erforderlich.
Es ist trotzdem mehr als nützlich. Zum einen können keine falschen Verknüpfungen gespeichert werden; Beispiel: Zimmer 13 gibt es nicht, aber es wird trotzdem in der Vermietung zugewiesen. Zum anderen hat es Geschwindigkeitsvorteile, weil die Datenbank selbst (also HSQL) die Beziehungen im eigentlichen Datenzugriff optimiert, während die Verknüpfungen in der Benutzeroberfläche (also Base) immer neu hergestellt werden müssen. (OK, für deine Daten"mengen" spielt das noch keine Rolle, aber man sollte es im Hinterkopf behalten.)

Gruß Jürgen
Situation: LibO 3.6 auf Win 7 Home Premium (64-bit) mit MySQL (localhost) über JDBC
Antworten