Werte im Formular mit Daten aus Join nicht veränderbar
Moderator: Moderatoren
-
- **
- Beiträge: 27
- Registriert: So, 05.03.2006 15:12
- Wohnort: Schwoiga
Werte im Formular mit Daten aus Join nicht veränderbar
Hallo,
ich hab folgendes Problem seit ich von OOO 2.0.3 auf OOO 2.1.0 umgestiegen bin. Ich kann in meinen Formularen, die den Inhalt eines Joins aus 2 Tabellen enthalten, werden alle Daten angezeigt, ich aber keine Daten mehr veränderen.
Wenn ich das gleiche Formular unter 2.0.3 verwende funktioniert alles Problemlos, Syntaxfehler sinds also nicht.
Ist das ein Fehler in 2.1.0 oder ist das schreiben von Daten bei einem Join grundsätzlich nicht möglich, sprich Fehler in 2.0.3
Gruß Matze
ich hab folgendes Problem seit ich von OOO 2.0.3 auf OOO 2.1.0 umgestiegen bin. Ich kann in meinen Formularen, die den Inhalt eines Joins aus 2 Tabellen enthalten, werden alle Daten angezeigt, ich aber keine Daten mehr veränderen.
Wenn ich das gleiche Formular unter 2.0.3 verwende funktioniert alles Problemlos, Syntaxfehler sinds also nicht.
Ist das ein Fehler in 2.1.0 oder ist das schreiben von Daten bei einem Join grundsätzlich nicht möglich, sprich Fehler in 2.0.3
Gruß Matze
-
- **
- Beiträge: 27
- Registriert: So, 05.03.2006 15:12
- Wohnort: Schwoiga
-
- **
- Beiträge: 27
- Registriert: So, 05.03.2006 15:12
- Wohnort: Schwoiga
Toxitom hat mich gerade in einem anderen Beitrag auf die vielleicht entscheidente Idee gebracht:
Ich lasse die Werte im Formular in Form einer Tabelle darstellen, da die Tabelle aber eigendlich nur zum anzeigen und nicht zum zurückschreiben gedacht ist, könnte es sein dass das Problem da liegt.
Ich werd das mal testen sobald ich Zeit finde ooo 2.1.0 nochmal zu installieren.
Danke trotzdem
Gruß Matze
Ich lasse die Werte im Formular in Form einer Tabelle darstellen, da die Tabelle aber eigendlich nur zum anzeigen und nicht zum zurückschreiben gedacht ist, könnte es sein dass das Problem da liegt.
Ich werd das mal testen sobald ich Zeit finde ooo 2.1.0 nochmal zu installieren.
Danke trotzdem
Gruß Matze
-
- **
- Beiträge: 27
- Registriert: So, 05.03.2006 15:12
- Wohnort: Schwoiga
Hallo,
bin jetzt endlich mal dazu gekommen mySQL auf meinem rechner zu installieren und das ganze mal so zu probieren.
Leider funktioniert das schreiben von Daten in einem Join auch nicht, wenn ich als Formularinhalt nur eine Tabelle hab, kann ich alle Daten veränderen, sprich schreibrechte sind vorhanden und die Verbindung funktioniert auch gut.
Leider bin ich dadurch bei meinem Problem auch nicht weiter gekommen. Hat jemand eine Idee was man anderst einstellen muss, damit es funktioniert?
Gruß Matze
bin jetzt endlich mal dazu gekommen mySQL auf meinem rechner zu installieren und das ganze mal so zu probieren.
Leider funktioniert das schreiben von Daten in einem Join auch nicht, wenn ich als Formularinhalt nur eine Tabelle hab, kann ich alle Daten veränderen, sprich schreibrechte sind vorhanden und die Verbindung funktioniert auch gut.
Leider bin ich dadurch bei meinem Problem auch nicht weiter gekommen. Hat jemand eine Idee was man anderst einstellen muss, damit es funktioniert?
Gruß Matze
Hallo Matze
Von daher würde das auf einen "geglückten" Fehler in 2.0.3 schliessen lassen.
Gruss Bernd
Joins werden ja in/durch Abfragen erstellt und Datenmanipulation ist in Abfragen generell nicht möglich, auch nicht mit MySQL.Ist das ein Fehler in 2.1.0 oder ist das schreiben von Daten bei einem Join grundsätzlich nicht möglich, sprich Fehler in 2.0.3
Von daher würde das auf einen "geglückten" Fehler in 2.0.3 schliessen lassen.
Gruss Bernd
-
- **
- Beiträge: 27
- Registriert: So, 05.03.2006 15:12
- Wohnort: Schwoiga
Hall Bernd,
danke für deine Antwort.
Nja wenn es sonst keine Lösung für das Problem gibt, werd ich wohl ein Makro schreiben müssen, das die Daten "manuell" per insert/update Befehl einfügt.
Gruß Matze
danke für deine Antwort.
Hab das mal mit einer Abfrage in Form einer ganzen Tabelle ausprobiert (auch direkt SQL) und konnte die Daten problemlos ändern. Sprich nur wenn die Abfrage aus einem Join besteht, ist Datenmanipulation nicht möglich.Joins werden ja in/durch Abfragen erstellt und Datenmanipulation ist in Abfragen generell nicht möglich, auch nicht mit MySQL.
Nja wenn es sonst keine Lösung für das Problem gibt, werd ich wohl ein Makro schreiben müssen, das die Daten "manuell" per insert/update Befehl einfügt.
Gruß Matze
Hallo Matze
Würde mich echt interessieren.
Statt Makro könntest du auch ein (Eingabe-)Formular erstellen mit 2 Tabellenkontrollfeldern die auf die jeweilige Datentabelle zugreifen und diese per Formular und Subformular über die Schlüsselspalten miteinander verbinden.
Gruss Bernd
Kannst du mal ganz kurz beschreiben wie du das angestellt hast?Hab das mal mit einer Abfrage in Form einer ganzen Tabelle ausprobiert (auch direkt SQL) und konnte die Daten problemlos ändern.
Würde mich echt interessieren.
Statt Makro könntest du auch ein (Eingabe-)Formular erstellen mit 2 Tabellenkontrollfeldern die auf die jeweilige Datentabelle zugreifen und diese per Formular und Subformular über die Schlüsselspalten miteinander verbinden.
Gruss Bernd
-
- **
- Beiträge: 27
- Registriert: So, 05.03.2006 15:12
- Wohnort: Schwoiga
Hallo Bernd,
Die Test waren jeweils unter HSQL, also nicht über MySQL.
-1. Tabelle: zeigt nur Daten Tabelle 1 (mit Datenmanipulation)
-2. Tabelle: zeigt nur Daten Tabelle 2 (mit Datenmanipulation)
-3. Tabelle: Vereint Tabelle 1+2 über Schlüssel, dafür können die Daten dann nicht mehr geändert werden.
Dieser Ansatz währe auf jeden Fall um einiges einfacher zu realisieren, dafür leidet die Übersicht etwas. Das probier ich jedenfalls mal aus.
Gruß Matze
Ich hab als Inhalt des Formulars einfach einen SQL Befehl (Select * from Tabelle) angegeben und das ändern der Daten dann ausprobiert. Das gleiche hab ich mit einer seperat erstellten Abfrage gemacht.Kannst du mal ganz kurz beschreiben wie du das angestellt hast?
Die Test waren jeweils unter HSQL, also nicht über MySQL.
Wenn ich dich richtig verstanden habe, soll ich ein Formular mit ingesammt 3 Tabellenkontrollfeldern machen:Statt Makro könntest du auch ein (Eingabe-)Formular erstellen mit 2 Tabellenkontrollfeldern die auf die jeweilige Datentabelle zugreifen und diese per Formular und Subformular über die Schlüsselspalten miteinander verbinden.
-1. Tabelle: zeigt nur Daten Tabelle 1 (mit Datenmanipulation)
-2. Tabelle: zeigt nur Daten Tabelle 2 (mit Datenmanipulation)
-3. Tabelle: Vereint Tabelle 1+2 über Schlüssel, dafür können die Daten dann nicht mehr geändert werden.
Dieser Ansatz währe auf jeden Fall um einiges einfacher zu realisieren, dafür leidet die Übersicht etwas. Das probier ich jedenfalls mal aus.
Gruß Matze
Hallo Matze
Du brauchst zur Dateneingabe 2 Tabellenkontrollfelder in einem Formular
-1. Tabelle: zeigt alle Daten aus Tabelle 1 (mit Datenmanipulation)
-2. Tabelle: zeigt nur zum ausgewählten Datensatz der Tabelle 1 den korresbondierenden Datensatz (bzw. Datensätze) aus Tabelle 2 (mit Datenmanipulation).
Verknüpfen musst du sie über die gleichen Spalten die du auch für den Join nimmst.
Hier ist's nochmal genauer erklärt:
viewtopic.php?t=5800&highlight=
Nur wenn dir das zu unübersichtlich ist - weil im Tabellenkontrollfeld 2 ja immer nur ein Datensatz dargestellt wird - empfiehlt es sich dann noch ein "Ubersichtsformular" (kann ja auch eine neue Formulardatei sein) auf der Basis einer normalen Abfrage zu erstellen, die den Join darstellt.
Gruss Bernd
Du brauchst zur Dateneingabe 2 Tabellenkontrollfelder in einem Formular
-1. Tabelle: zeigt alle Daten aus Tabelle 1 (mit Datenmanipulation)
-2. Tabelle: zeigt nur zum ausgewählten Datensatz der Tabelle 1 den korresbondierenden Datensatz (bzw. Datensätze) aus Tabelle 2 (mit Datenmanipulation).
Verknüpfen musst du sie über die gleichen Spalten die du auch für den Join nimmst.
Hier ist's nochmal genauer erklärt:
viewtopic.php?t=5800&highlight=
Nur wenn dir das zu unübersichtlich ist - weil im Tabellenkontrollfeld 2 ja immer nur ein Datensatz dargestellt wird - empfiehlt es sich dann noch ein "Ubersichtsformular" (kann ja auch eine neue Formulardatei sein) auf der Basis einer normalen Abfrage zu erstellen, die den Join darstellt.
Gruss Bernd
Hallo Matze
Wenn du den Selectausdruck so aufbaust
und nur 1 Spalte weglässt (das wäre dann eine "Ansicht") geht's schon nicht mehr (zumindest bei mir).
Gruss Bernd
Das das funktioniert scheint daran zu liegen dass du mit * alle Spalten abfragst, also quasi die "Tabelle"Ich hab als Inhalt des Formulars einfach einen SQL Befehl (Select * from Tabelle) angegeben und das ändern der Daten dann ausprobiert. Das gleiche hab ich mit einer seperat erstellten Abfrage gemacht.
Wenn du den Selectausdruck so aufbaust
Code: Alles auswählen
SELECT "Spalte1","Spalte2", usw. FROM "Tabelle"
Gruss Bernd
-
- **
- Beiträge: 27
- Registriert: So, 05.03.2006 15:12
- Wohnort: Schwoiga
Hallo Bernd,
Danke für deine Antwort. Jetzt kann ich mir vorstellen wo das Problem liegt und meine Formulare entsprechend ändern. Das nicht alle SELECT Abfragen gleich behandelt werden, sondern es auch nur Tabellenansichten gibt, wusste ich bis jetzt noch nicht.
Ich werde das mit den zwei Tabellen mal ausprobieren und so gestalten wie es am übersichtlichsten erscheint.
Vielen Dank,
Matze
Danke für deine Antwort. Jetzt kann ich mir vorstellen wo das Problem liegt und meine Formulare entsprechend ändern. Das nicht alle SELECT Abfragen gleich behandelt werden, sondern es auch nur Tabellenansichten gibt, wusste ich bis jetzt noch nicht.
Ich werde das mit den zwei Tabellen mal ausprobieren und so gestalten wie es am übersichtlichsten erscheint.
Vielen Dank,
Matze
