Werte im Formular mit Daten aus Join nicht veränderbar

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Werte im Formular mit Daten aus Join nicht veränderbar

von Bratmatzen » Fr, 13.04.2007 17:12

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 :D

von berndkli » Do, 12.04.2007 22:17

Hallo 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.
Das das funktioniert scheint daran zu liegen dass du mit * alle Spalten abfragst, also quasi die "Tabelle"

Wenn du den Selectausdruck so aufbaust

Code: Alles auswählen

SELECT "Spalte1","Spalte2", usw. FROM "Tabelle"
und nur 1 Spalte weglässt (das wäre dann eine "Ansicht") geht's schon nicht mehr (zumindest bei mir).

Gruss Bernd

von berndkli » Do, 12.04.2007 13:09

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

von Bratmatzen » Do, 12.04.2007 11:16

Hallo Bernd,
Kannst du mal ganz kurz beschreiben wie du das angestellt hast?
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.
Die Test waren jeweils unter HSQL, also nicht über MySQL.
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.
Wenn ich dich richtig verstanden habe, soll ich ein Formular mit ingesammt 3 Tabellenkontrollfeldern machen:
-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

von berndkli » Mi, 11.04.2007 20:34

Hallo Matze
Hab das mal mit einer Abfrage in Form einer ganzen Tabelle ausprobiert (auch direkt SQL) und konnte die Daten problemlos ändern.
Kannst du mal ganz kurz beschreiben wie du das angestellt hast?
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

von Bratmatzen » Mi, 11.04.2007 16:41

Hall Bernd,

danke für deine Antwort.
Joins werden ja in/durch Abfragen erstellt und Datenmanipulation ist in Abfragen generell nicht möglich, auch nicht mit MySQL.
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.

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

von berndkli » Di, 10.04.2007 20:54

Hallo Matze
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
Joins werden ja in/durch Abfragen erstellt und Datenmanipulation ist in Abfragen generell nicht möglich, auch nicht mit MySQL.
Von daher würde das auf einen "geglückten" Fehler in 2.0.3 schliessen lassen.


Gruss Bernd

von Bratmatzen » Fr, 06.04.2007 16:14

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

von Bratmatzen » Di, 27.03.2007 18:00

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

von Bratmatzen » So, 25.03.2007 16:22

Hat keiner eine Idee?

könnte es vielleicht daran liegen, dss ich HSQL verwende? Währe es besser auf mySQL umzusteigen?

Gruß Matze

Werte im Formular mit Daten aus Join nicht veränderbar

von Bratmatzen » Fr, 23.03.2007 17:06

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

Nach oben