Änderung in einer Abfrage lässt sich nicht speichern

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Colaextrakt
*
Beiträge: 12
Registriert: Do, 01.08.2013 12:53

Änderung in einer Abfrage lässt sich nicht speichern

Beitrag 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.
Dateianhänge
OpenOffice.png
OpenOffice.png (53.87 KiB) 1146 mal betrachtet
RobertG
********
Beiträge: 2067
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

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

Beitrag 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
Colaextrakt
*
Beiträge: 12
Registriert: Do, 01.08.2013 12:53

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

Beitrag 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?
RobertG
********
Beiträge: 2067
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

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

Beitrag 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
Colaextrakt
*
Beiträge: 12
Registriert: Do, 01.08.2013 12:53

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

Beitrag 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 :) .
Antworten