Editierbare Abfrage - keine Frage, eher Hinweise

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

peschiber
**
Beiträge: 41
Registriert: So, 28.04.2019 08:51

Editierbare Abfrage - keine Frage, eher Hinweise

Beitrag von peschiber » Mo, 06.05.2019 07:13

Hallo,

nachfolgende Ausführung ist keine Anfrage, sondern eher der Versuch auf Schwierigkeiten hinzuweisen, denen EinsteigerInnen mit Abfragen begegnen könnten.

Als Neueinsteiger in Base versuche ich mich gerade in einen der wichtigsten Bereich von Base, Abfragen, einzuarbeiten und erahne erst jetzt nach Stunden des Probierens, warum meine Abfrage mal editierbar sind und manchmal nicht.
Beispiel:
editierbar
SELECT "Nachname", "Vorname", "geb", "ID_P" FROM "tbl_P_Stammdaten" WHERE ( "ID_P" = :qID OR :qID IS NULL ) ORDER BY "Nachname" ASC
liefert als Liste z. B. „Müller, Paul, 22. 04. 1944“
nicht editierbar
SELECT "tbl_P_Stammdaten"."Nachname", "tbl_P_Stammdaten"."Vorname", "tbl_P_Stammdaten"."geb", "tbl_P_Stammdaten".* FROM "tbl_P_Stammdaten"

Warum dem so ist, habe ich mir bis jetzt noch nicht erklären können. Es liegt vermutlich an dem „xxx.*“.

Die Autoren Robert und Co haben in ihrem hervorragendem Base Handbuch auf Seite 246 beschrieben, wie editierbare und nicht editierbare Abfragetabellen zu unterscheiden sind.
Leider trifft das zumindest nicht unter LibreOffice 6.2.2 > Windows 10 zu:
(sieh Screenshot)

Für Base-Profis mag das Pinats sein, EinsteigerInnen tun sich damit sehr schwer, wenn nicht explizit darauf hingewiesen werden, dass Abfragen, so vermute ich, grundsätzlich nicht editierbar sind, wenn im tabellarischen Bereich ein Spalte wie: „tab_xxx.*“ eingefügt wird.
Da freut es EinsteigerInnen zu lesen:
„Hier wird mit einem Klick jeder Feldname der zugrundeliegenden Tabelle in der Abfrage wiedergegeben. Wenn allein diese Feldbezeichnung mit dem Jokerzeichen ≪*≫ für alle Felder gewählt wird, unterscheidet sich die Abfrage nicht von der Tabelle“ > “Base Handbuch“ Seite 246,

ohne zu erahnen, dass damit die Abfrage nicht mehr editierbar ist.

Meine Bitte bezüglich nächste update fürs „Base Handbuch“:
unbedingt auf den oben geschilderten Sachverhalt hinweisen, vorausgesetzt meine Vermutungen sind richtig. Danke

Wenn meine Vermutung nicht zutreffen sollte, bitte ich um entsprechende Hinweise.

Hoffe, dass diese etwas längere Ausführung EinsteigernInnen in Base hilft, nicht die gleichen Anfängerfehler zu machen, die mich Stunden des Versuchens und Irrtums gekostet haben.


Grüße Peter

PS.: gehört eigentlich nicht in diese Rubrik, dennoch
Mir ist aufgefallen,
a) wenn Texte aus einer PDF-Datei, geöffnet mit Adobe Reader DC in Writer kopiert werden, fehlen die Umlaute, aus "ü" wird "u" etc.
b) wenn Daten von Base nach Calc mit paste und copy übertragen werden, dann sind alle Texte in Calc durchgestrichen.
Dateianhänge
Abfrage editierbar ja nein.png
Abfrage editierbar ja nein.png (178.98 KiB) 778 mal betrachtet

RobertG
*******
Beiträge: 1782
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Editierbare Abfrage - keine Frage, eher Hinweise

Beitrag von RobertG » Mo, 06.05.2019 12:22

Hallo Peter,

wenn Du gleiche Felder mehrmals in der Abfrage hast, dann ist die Eingabe-GUI davon anscheinend überfordert.

Code: Alles auswählen

SELECT "tbl_P_Stammdaten"."Nachname", "tbl_P_Stammdaten"."Vorname", "tbl_P_Stammdaten"."geb", "tbl_P_Stammdaten".* FROM "tbl_P_Stammdaten"
ist editierbar, wenn Du die Felder nimmst, die durch "tbl_P_Stammdaten".* erstellt werden. Dortige Änderungen in "Nachname" sind möglich und wirken sich dann auch auf das Feld "tbl_P_Stammdaten"."Nachname" auf. Nimmst Du hingegen die erste Spalte der Abfrage, so nimmt die GUI keine Veränderung der Daten wahr.

Es wird anscheinend immer das letzte Feld, das sich auf das gleiche Feld bezieht, genommen. Die Information dieses Feldes werden dann zum Abspeichern genutzt. Wird also das Feld für "Nachname" ganz links ausgefüllt, dann wird anschließend bei Abspeichern stattdessen der Wert aus dem rechten Feld gelesen und bemerkt: Da ist ja gar keine Änderung vorgenommen worden.

Nachtrag: Ich habe das für das künftige Handbuch einmal aufgenommen:
Sind in einer Abfrage gleiche Felder einer Tabelle mehrmals hintereinander vorhanden (z.B. einmal als "Tabelle"."Name" und einmal als "Tabelle".*), so nimmt die GUI eine Veränderung des Inhaltes nur in dem zuletzt erscheinenden Feld wahr. Es sollte daher grundsätzlich vermieden werden, das gleiche Feld mehrmals unverändert in eine Abfrage aufzunehmen. Übersicht und Editierbarkeit leiden darunter.
Gruß

Robert

peschiber
**
Beiträge: 41
Registriert: So, 28.04.2019 08:51

Re: Editierbare Abfrage - keine Frage, eher Hinweise

Beitrag von peschiber » Mi, 08.05.2019 08:23

Hallo Robert,

danke für den Hinweis.
Wollte deinen Hinweis gleich ausprobieren, aber leider ist mal wieder LibreOffice abgestürzt, eingefroren.
Langsam verliere ich die Lust an Base.

Liebe Grüße, Peter

PS.:
In der vagen Hoffnung, dass ich doch noch einen brauchbaren Rat bezüglich der vielen Abstürze bekomme, habe ich noch mal unter einer anderen Frage meine Erfahrung gepostet.

Antworten