View erstellen - SQL Fehler

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

herhag
**
Beiträge: 27
Registriert: Di, 19.04.2016 19:14
Wohnort: Nbg.
Kontaktdaten:

View erstellen - SQL Fehler

Beitrag von herhag »

Hallo in´s Forum.

Beim erstellen einer Tabellenansicht (View)kommt es beim speichern zu einem SQL-Fehler.
Da die VIEW-Abfrage aus der DB-Adressen.odb mit Makros stammt, bin ich etwas ratlos an was dies liegen könnte.

Nicht anlegen kann ich die Sicht sowohl mit portabler Version "LibreOffice" als auch mit der Normalen 5.1.2.2

Einzelheiten sind dem beigefügtem Bild zu entnehmen.
view.jpg
view.jpg (58.84 KiB) 5495 mal betrachtet
Danke für die Hilfe. 8)

Herbert
Danke für die Hilfe. :D 8)
==============================
Libre Office 5.1.1.3
PortableVersion
Windows 10
64 Bit
Toxitom
********
Beiträge: 3768
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Re: View erstellen - SQL Fehler

Beitrag von Toxitom »

Hey Herbert,

was nutzt Du den für ein DBMS? Die interne HSQLDB?
Was für ein Betriebssystem und welche Version LibO (32bit oder 64bit) ?

Solltest du die interne HSQLDB nutzen, so ist mir nicht bekannt, dass sie die Union Befehle unterstützt noch die verkürzte Schreibweise für das concate (hier als ||) dargestellt.

Eine MySQL bzw. Maria-DB Datenbank mit entsprechenden Treibern (ODBC bzw auch der native) könnte das möglicherweise bewerkstelligen - aber auch da bin ich mir nicht sicher.

In dem Fall bleibt Dir nur eins: Schritt für Schritt testen, ob die verwendeten SQL Befehle sowohl über die Treiber korrekt interpretiert und weitergeleitet werden als auch das DBMS diese versteht und implementiert hat.

VG
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
herhag
**
Beiträge: 27
Registriert: Di, 19.04.2016 19:14
Wohnort: Nbg.
Kontaktdaten:

Re: View erstellen - SQL Fehler

Beitrag von herhag »

Hallo Toxitom,

folgende Version benütze ich:

Die interne HSQLDB!
Windows 10 Pro, 64 Bit-System, 8 G RAM,
version_libre.jpg
version_libre.jpg (45.33 KiB) 5469 mal betrachtet
Dies ist eine PortableVersion, die habe ich auf einem USB-Stick installiert.
Aber, es funktioniert auch unter Windows Vista nicht.
Nicht auf Stick.

Die Sicht stammt aus einer Vorlagen-Datei (Robert Großkopf, denke ich. Weil, der Name in dem Beispiel auftaucht.), mit Makros.
Siehe Anhang.

Dieses Beispiel will ich für meine Zwecke abändern und daraus lernen.
Die enthaltenen Module und den enthaltenen Code, konnte ich schon kopieren und in meine Test-DB einpflegen.
Das funktioniert, nur die View kann ich nicht erstellen.

Wie könnte ich diese Sicht abändern, dass diese funzt?
Wäre super, könntest du mir Hilfestellung geben.

Danke.

Herbert
Dateianhänge
Adressen.odb
(23.61 KiB) 135-mal heruntergeladen
Danke für die Hilfe. :D 8)
==============================
Libre Office 5.1.1.3
PortableVersion
Windows 10
64 Bit
F3K Total
********
Beiträge: 3704
Registriert: Mo, 28.02.2011 17:49

Re: View erstellen - SQL Fehler

Beitrag von F3K Total »

Hallo,
die interne HSQL-DB unterstützt UNION SELECT im direkten SQL-Mode, siehe Bild.
view.jpg
view.jpg (62.46 KiB) 5451 mal betrachtet
Gruß R
RobertG
********
Beiträge: 2033
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: View erstellen - SQL Fehler

Beitrag von RobertG »

Hallo Herbert,

schau auf die Abbildung, die F3K Total geschickt hat. Du musst in dem Fenster für die Abfrage/Ansicht den Code mit direktem SQL ausführen. Das geht nicht über die Verarbeitung mit der grafischen Benutzeroberfläche.

Gruß

Robert
F3K Total
********
Beiträge: 3704
Registriert: Mo, 28.02.2011 17:49

Re: View erstellen - SQL Fehler

Beitrag von F3K Total »

Hallo Herbert,
Wenn ich Deine Datenbankdatei Adressen.odb öffne, funktionieren beide Dinge:
  • Die Ansicht Name_Filter_Ansicht

    Code: Alles auswählen

    SELECT "Anzeige", "ID" FROM "Filter_aus" AS "Filter_Aus" UNION ALL SELECT "Nachname" || ', ' || "Vorname" AS "Anzeige", "ID" AS "ID" FROM "Person" AS "Person" ORDER BY "Anzeige"
    im Bereich der Tabellen, ist normal für Ansichten
  • Die Abfrage Name_Filter im Bereich der Abfragen.

    Code: Alles auswählen

    SELECT "Anzeige", "ID" FROM "Filter_aus" AS "Filter_Aus" UNION ALL SELECT "Nachname" || ', ' || "Vorname" AS "Anzeige", "ID" AS "ID" FROM "Person" AS "Person" ORDER BY "Anzeige"
Beide beinhalten den gleichen SQL-Code und liefern folgendes Ergebnis:

Code: Alles auswählen

Anzeige                 ID
Alle
Denk-Hager, Margit      21
Großkopf, Robert         0
Gut, Tunicht             5
Hager, Herbert           7
Hastnicht, Moni          3
Milinda, Mirina          1
Muster, Hans            24
Springinsfeld, Kerstin   4
Springsinsfeld, Karl     6
Tunichtgut, Heinz        2
Ich verstehe Dein Problem nicht.

Getestet mit LibreOffice 5.1.3
Gruß R
herhag
**
Beiträge: 27
Registriert: Di, 19.04.2016 19:14
Wohnort: Nbg.
Kontaktdaten:

Re: View erstellen - SQL Fehler

Beitrag von herhag »

Hallo Robert,

das Problem ist nicht die Funktion der Sicht.

Das Problem ist das Speichern der Sicht mit der genannten SQL-Anweisung.

Also,ich erstelle ein Sicht in der SQL-Ansicht.
Füge die SQL-Anweisung ein.
Will die Sicht untern einem bestimmten Namen speichern.
Dann erscheint die Fehlermeldung.

Hoffe, dass es nun verständlich ist.
:)
Danke für die Hilfe. :D 8)
==============================
Libre Office 5.1.1.3
PortableVersion
Windows 10
64 Bit
F3K Total
********
Beiträge: 3704
Registriert: Mo, 28.02.2011 17:49

Re: View erstellen - SQL Fehler

Beitrag von F3K Total »

Also,
ein Name einer Ansicht, Tabelle oder Abfrage ist in einer .odb nur einmal verwendbar, zweimal geht nicht.
Wenn du die View (Ansicht) mit dem UNION SELECT Befehl speichern möchtest, mußt du den direkten SQL-Mode, wie in meinem Bild markiert, einschalten!
Gruß F3K Total alias R nicht Robert.
herhag
**
Beiträge: 27
Registriert: Di, 19.04.2016 19:14
Wohnort: Nbg.
Kontaktdaten:

Re: View erstellen - SQL Fehler

Beitrag von herhag »

Hallo F3K Total alias R,

danke. 8) :) :)

Das ist ´ne klare Erklärung.
Können den Thread schliessen.

Danke nochmals und Gruß

Herbert
Danke für die Hilfe. :D 8)
==============================
Libre Office 5.1.1.3
PortableVersion
Windows 10
64 Bit
Antworten