Seite 1 von 1

Abfrage nicht editierbar

Verfasst: Fr, 03.05.2019 09:20
von peschiber
Hallo,

zunächst einen ganz herzlichen Dank an die vielen HelferInnen in dem Forum, deren Antworten für Einsteiger in Base eine große Hilfe sind.
Vor allem bin ich baff, wie schnell ich auf eine Anfrage eine Antwort erhalte.

In einer Antwort von Robert aus 2014 habe ich gelesen:
alle Schlüsselfelder einer Tabelle müssen in der Abfrage enthalten sein - sonst ist sie nicht editierbar
Bis zu dem Zeitpunkt habe ich das noch nie ausprobiert, sondern nur geschaut, ob die Abfrage so das Ergebnis ausspuckt, wie ich es erwartet habe. Hatte mich nur gewundert, warum einige Formulare zwar scheinbar editierbar waren, aber dann eine Fehlermeldung beim Speichern kam.

Von daher heute das erste Mal ausprobiert, ob ich die Abfrage direkt editieren kann.
Ergebnis:
bei den meisten meiner Abfragen ist das möglich, bei einigen aber nicht, obwohl die Abfrage auch ein Schlüsselfeld enthält.

Der wesentliche Unterschied zu den editierbaren und speicherbaren Abfragen:
die Abfrage enthält zum eine entweder eine Parameterabfrage wie :qNachname,
und/ oder ein zusammengesetzten String, wie "Müller, Heinrich, 02.02.1922"
Beispiel 1
SELECT "Nachname" || ', ' || "Vorname" || ', ' || RIGHT( '0' || DAY( "geb" ), 2 ) || '. ' || RIGHT( '0' || MONTH( "geb" ), 2 ) || '.' || YEAR( "geb" ) || ', ' || ' ID = ' || "ID", "tbl_Stammdaten".* FROM "tbl_Stammdaten" ORDER BY "Nachname" ASC

Beispiel 2:

SELECT "tbl_Stammdaten"."Nachname", "tbl_Stammdaten"."Vorname", "tbl_Stammdaten"."geb", "tbl_Stammdaten"."ID" FROM "tbl_Stammdaten" WHERE ( "ID" = CAST( SUBSTR( :qTEXTID, LOCATE( '=', :qTEXTID ) + 1, 999 ) AS INTEGER ) OR :qTEXTID IS NULL ) ORDER BY "Nachname" ASC

Frage:
Wie muss die SQL-Anweisung lauten, damit auch diese Abfragen - mit Parameter und / oder als ein String aus zusammengesetzten Feldern editierbar und speicherbar sind?

Danke, Peter

Re: Abfrage nicht editierbar

Verfasst: Fr, 03.05.2019 17:50
von F3K Total
So, wie Robert es bereits geschrieben hat, alle PRIMÄRSCHLÜSSEL aller beteiligten Tabellen müssen enthalten sein. Natürlich sind zusammengesetzte/berechnete Ergebnisspalten nie editierbar!
Schau in die Beispieldatenbank von mir, da kannst du alle Spalten editieren, obwohl den Formularinhalt per Parameterabfrage gefiltert wird.
Gruß R