Seite 1 von 1

Änderung in einer Abfrage lässt sich nicht speichern

Verfasst: Do, 15.08.2013 10:18
von Colaextrakt
Salve,
ich habe ein Problem mit meiner Datenbank, aus dem ich einfach nicht schlau werden will.
Eine meiner Tabellen enthält verschiedene Produkte. Eine der Eigenschaften ist eine Ziel ID. Mit dieser möchte ich dann aus einer anderen Tabelle mit Brangen den Namen abfragen.
Hier die SQL-Abfrage:

Code: Alles auswählen

SELECT "Preislist"."ID", "Brangen"."ID" AS "Brange_ID", "Preislist"."Ziel ID", "Preislist"."Name", "Preislist"."Preis", "Brangen"."Name" FROM "Preislist", "Brangen" WHERE "Preislist"."Ziel ID" = "Brangen"."ID"
Mein Problem ist, dass ich die Ziel ID eines Produktes zwar ändern kann und dann auch entsprechend der neue Brangenname angezeigt wird, diese Änderung aber nicht gespeichert werden kann ("Fehler beim Schreiben des aktuellen Datensatzes").
Ich arbeite unter Ubuntu 10.04 und der Fehler trat bei mir sowohl mit OpenOffice Base 3.2 und 4.0 als auch mit LibreOffice Base 4.0 und 4.1 auf.
Hatte jemand hier schon ein ähnliches Problem, bzw. eine Lösungsidee?
Schon im voraus vielen Dank.

Re: Änderung in einer Abfrage lässt sich nicht speichern

Verfasst: Do, 15.08.2013 16:56
von RobertG
Hallo Colaextract,

da läuft dann wohl die Darstellung in der Benutzeroberfläche besser als der SQL-Code, der weiter gegeben wird.
Das Ganze liegt daran, dass Du die Verbindung zwischen den beiden Tabellen bearbeitest. Das ist nur möglich, wenn Du eine Tabelle alleine in der Abfrage hast.
Ich werde da einmal etwas schauen und dann gegebenenfalls eine Bug-Meldung aufgeben (zumindest für LO). Warum soll die GUI etwas können, was letztlich an der SQL-Formulierung scheitert.

Ergänzung:
Habe das als Bug gemeldet: https://bugs.freedesktop.org/show_bug.cgi?id=68153

Gruß

Robert

Re: Änderung in einer Abfrage lässt sich nicht speichern

Verfasst: Fr, 16.08.2013 08:17
von Colaextrakt
Vielen Dank für die Hilfe. Der Fehler liegt also wahrscheinlich in Base :( .
Hast du Erfahrungen, wie lange es etwa dauert, bis so ein Bug behoben ist?

Re: Änderung in einer Abfrage lässt sich nicht speichern

Verfasst: Fr, 16.08.2013 08:55
von RobertG
Hallo Colaextract,

ich würde an deiner Stelle sowieso nicht diese Möglichkeit zur Änderung der Inhalte nutzen. Erster Zugriff wäre stattdessen ein Formular, das nur auf einer Tabelle beruht. "Barangen"."Name" würde dann in einem Listenfeld dargestellt.
Alternativ kannst Du das mit einer korrelierenden Unterabfrage versuchen:

Code: Alles auswählen

SELECT "a"."ID", "a"."Ziel ID", "a"."Name", "a"."Preis", (SELECT "Name" FROM "Brangen" WHERE "ID" = "a"."Ziel_ID") AS "Name_Brangen" FROM "Preislist" AS "a" 
Damit lässt sich der Inhalt von "Brangen" zwar nicht bearbeiten - aber das ist ja sowieso etwas riskant, weil Du mit der Änderung eines Begriffes den gleichen Begriff bei allen anderen Datensätzen auch änderst.

Die Behebung von Bugs kann manchmal sehr fix gehen (innerhalb von ein paar Tagen), kann sich aber auch lange hin ziehen (wir haben da in Base Bugs liegen, die Anfang 2011 aufgegeben wurden und nicht geklärt sind) . Das liegt einfach daran, welche Wertigkeit den Bugs zugemessen wird. Bugs, die Datenverlust zur Folge haben, sind da natürlich höher anzusiedeln.

Gruß

Robert

Re: Änderung in einer Abfrage lässt sich nicht speichern

Verfasst: Fr, 16.08.2013 10:26
von Colaextrakt
Die Abfrage funktioniert echt super und erfüllt genau das, was ich brauche. Das man den Namen der Brange nicht ändern kann ist tatsächlich sogar Positiv.
Vielen Dank für die schnell und umfangreiche Hilfe :) .