Seite 1 von 1

View erstellen - SQL Fehler

Verfasst: Mo, 30.05.2016 13:10
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) 5497 mal betrachtet
Danke für die Hilfe. 8)

Herbert

Re: View erstellen - SQL Fehler

Verfasst: Mo, 30.05.2016 18:30
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

Re: View erstellen - SQL Fehler

Verfasst: Mo, 30.05.2016 19:02
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) 5471 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

Re: View erstellen - SQL Fehler

Verfasst: Mo, 30.05.2016 20:19
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) 5453 mal betrachtet
Gruß R

Re: View erstellen - SQL Fehler

Verfasst: Mo, 30.05.2016 21:01
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

Re: View erstellen - SQL Fehler

Verfasst: Di, 31.05.2016 20:06
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

Re: View erstellen - SQL Fehler

Verfasst: Di, 31.05.2016 20:16
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.
:)

Re: View erstellen - SQL Fehler

Verfasst: Di, 31.05.2016 20:29
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.

Re: View erstellen - SQL Fehler

Verfasst: Di, 31.05.2016 20:42
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