Daten in Oo-Abfragen editieren über mehrere MySQL-Tabellen

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Ralf
Beiträge: 2
Registriert: Mi, 20.08.2003 10:36
Wohnort: Giessen

Daten in Oo-Abfragen editieren über mehrere MySQL-Tabellen

Beitrag von Ralf »

Hallo zusammen,

habe ein kleines Problemchen. Habe Oo über ODBC oder JDBC an MYSQL angebunden. Wenn sich eine Abfrage nur auf eine Tabelle bezieht bekomme ich vollen Schreibzugriff auf die Daten. Sind es aber zwei oder mehr verknüpfte Tabellen kann ich die Daten nicht editieren. Habe als Frontend auch mal Access über ODBC getestet. Dort gibt es das Problem nicht. (Access will ich aber nicht). Handelt es sich bei dem Problem um einen Bug oder ein nichtimplementiertes Feature in Oo, oder habe ich bei der Datenbankanbindung irgendwas vergessen oder übersehen?

Ralf :(
Windows XP SP1, OO 1.1 RC3, MySQL 4.013
openmind
****
Beiträge: 184
Registriert: So, 29.06.2003 15:00
Wohnort: Schweiz

Beitrag von openmind »

Hi,

liegt wohl daran dass MySQL standardmässig keine Fremdschlüssel unterstützt. Ohne Fremdschlüssel und Views kann OOo wohl keine verküpften Tabellen updaten. Zumindest nicht einfach so.

Es gibt die Möglichkeit Formular und Unterformulare zu erstellne, welche die Werte der Formularfelder quasi als Fremdschlüssel von der DB unabhängig verwenden. SChau mal in der Hilfefunktion unter den Formularen. Da sollte die Verknüpfung von Formularen beschrieben sein.

Ansonsten hilft natürlich die Macro-Programmierung, womit ich mir selbst behelfen würde. Vielleicht klappt das aber auch ohne Basic.


viel glueck
Meine Installation: AMD Athlon XP 1600+, 512 MB RAM, SuSE Linux 8.2, OpenOffice 1.1
Kostenlose OOo-CD in der Schweiz: http://www.office-cd.ch/
Frank Lauer
***
Beiträge: 88
Registriert: Mi, 30.07.2003 18:06
Wohnort: Wiesloch

Beitrag von Frank Lauer »

MySQL unterstützt keine Fremdschlüssel? Ich dachte MySQL wäre eine relationale Datenbank => Verknüfungen zwischen Tabellen => Fremdschlüssel?
OOo 2.1 , Win XP
openmind
****
Beiträge: 184
Registriert: So, 29.06.2003 15:00
Wohnort: Schweiz

Beitrag von openmind »

Ich bin kein DB-Crack aber relationale Datenbank bezieht sich eher auf den Begriff einer Relation, welcher in der DB-Sprache nicht die Verbindung zwischen Tabellen, sondern die Tabelle selbst bezeichnet.

Und ja, zumindest in Versionen unter 4.x unterstützt mySQL meines Wissens Foreign Keys zwar in den SQL-Queries, ignoriert solche Angaben bei der Anlegung der Tabellen aber schlicht. Der Sinn ist nur bei den Queries nicht auf die Schnauze zu fallen, um SQL-Kompatibilität zu gewährleisten.

In den Versionen ab 4.x unterstützen dann spezielle Tabellen Transaktionen und auch Foreign Keys(???). Sicher bin ich mir da nur bei den Transaktionen. Die von MySQL standardmässig verwendeten Tabellen sind aber weiterhin nicht Transaktions-tauglich, du musst dazu den Tabellentyp bei der Erstellung definieren.

Die Foreign Keys, also die Verknüpfungen zwischen den Tabellen, müssen daher applikatorisch sichergestellt bzw. definiert werden, was in OOo beschränkt auch möglich ist (verknüpfte Formulare). Dinge wie cascading delete über Fremdschlüssel sind also von der Applikation zu erledigen, da hilft MySQL nicht weiter.

Berichtigungen sind willkommen.

Ansonsten hilft eine Blick auf die wirklich hervorragende Doku:

http://www.mysql.com/doc/de/index.html
Normale Tabellen ohne FK
http://www.mysql.com/doc/de/example-Foreign_keys.html
InnoDB-Tabellen mit Fremdschlüssel
http://www.mysql.com/doc/de/SEC437.html
Meine Installation: AMD Athlon XP 1600+, 512 MB RAM, SuSE Linux 8.2, OpenOffice 1.1
Kostenlose OOo-CD in der Schweiz: http://www.office-cd.ch/
Ralf
Beiträge: 2
Registriert: Mi, 20.08.2003 10:36
Wohnort: Giessen

Beitrag von Ralf »

Es hat zwar ein paar Tage gedauert, aber grundsätzlich hab ich es jetzt verstanden. Hab die Variante Formular/Unterformular gewählt und über
SQL-Ausdrücke verknüpft. Hab jetzt eine sinnvolle Darstellung im Formular und kann die gewünschten Daten editieren.

Danke für die Tipps

Ralf
Windows XP SP1, OO 1.1 RC3, MySQL 4.013
Ralle
Beiträge: 2
Registriert: Sa, 31.01.2004 20:08

Beitrag von Ralle »

Gibt es irgendwo eine Anleitung, wie eine Verknüpfung von nach angewendet wird? Irgendwie bekomme ich das nicht hin.

Danke

Gruß Ralle
yeticomes
Beiträge: 8
Registriert: Mo, 10.05.2004 17:38

Beitrag von yeticomes »

Hallo!


Bin bei demselben Problem - gibt es zu Unterformularen ein HowTo oder eine Doku etc.?

Zumindest einen kurzen stichwortartigen Einstieg (OOo 1.1.2) ...


cu, Niels
Antworten