Seite 1 von 3
LibreOffice 5.1 - Base --- Abfragen mit Alias nicht möglich
Verfasst: Fr 28. Okt 2016, 16:51
von DietmarB
Erst einmal ein Hallo an Alle,
bevor ich mein Problem beschreibe möchte ich mich hier kurz bekannt machen. Mein Name ist Dietmar und ich beschäftige mich erst seit kurzer Zeit mit LibreOffice. Bisher habe ich mit MS Office, recht häufig mit Access-Datenbanken, gearbeitet. Damit habe ich auch schon rel. viel Erfahrung. Ich habe aber das Gefühl, die nutzen mir erst einmal wenig im Umgang mit LibreOffice.
Bisher habe ich es geschafft eine LibreOffice-Base mit mehreren Tabellen anzulegen. Ich habe auch schon eine erste Abfrage erstellt. Jetzt stehe ich aber schon das erste Mal auf dem Schlauch.
Ich füge die Abfrage hier so herein wie sie im SQL-Format dargestellt ist.
Code: Alles auswählen
SELECT `TBL Adressen postalisch`.`Geschlecht`, `TBL Adressen postalisch`.`Titel`, `TBL Adressen postalisch`.`Name`, `TBL Adressen postalisch`.`Vorname`, `TBL Verein Daten`.`GebDatum`
FROM `TBL Adressen postalisch`, `TBL Verein Daten`
WHERE `TBL Adressen postalisch`.`IDNr` = `TBL Verein Daten`.`IDNr` AND `TBL Verein Daten`.`Austrittsgrund` IS NULL
ORDER BY `TBL Adressen postalisch`.`Name` ASC
Nun wollte ich zwecks Studium dem Feld IDNr einen Alias-Namen geben. Ich habe also in die grafische Darstellung bei diesem Datenfeld den Alias „Nummer“ eingetragen. Und ab diesem Zeitpunkt erschien nur noch diese Fehlermeldung:
Code: Alles auswählen
Die Dateninhalte konnten nicht geladen werden. Syntaxfehler (fehlender Operator) in Abfrageausdruck ‚`TBL Adressen Postalisch`.ÌDNr``Nummer`.
Die Fehlermeldung taucht immer auf, egal in welches Feld ich auch einen Alias eintrage. Was kann der Grund für diese Meldung sein?
Ich habe mir zwar schon das Handbuch für Base 5.1 heruntergeladen, finde darin aber keinen Hinweis auf den Fehler. Kann mir hier jemand helfen?
Gruß
Dietmar
Re: LibreOffice 5.1 - Base --- Abfragen mit Alias nicht möglich
Verfasst: Fr 28. Okt 2016, 17:11
von RobertG
Hallo Dietmar,
mit welcher Datenbank arbeitest Du? Der Code, den Du da postest, sieht nicht nach der internen HSQLDB von Base aus.
Vielleicht ist es bei der Datenbank, die Du verwendest, nicht möglich, ein Alias ohne AS zu verwenden. Dann müsste der Code so aussehen:
Code: Alles auswählen
SELECT `TBL Adressen postalisch`.`IDNr` AS `Nummer`, `TBL Adressen postalisch`.`Geschlecht`, `TBL Adressen postalisch`.`Titel`, `TBL Adressen postalisch`.`Name`, `TBL Adressen postalisch`.`Vorname`, `TBL Verein Daten`.`GebDatum`
FROM `TBL Adressen postalisch`, `TBL Verein Daten`
WHERE `TBL Adressen postalisch`.`IDNr` = `TBL Verein Daten`.`IDNr` AND `TBL Verein Daten`.`Austrittsgrund` IS NULL
ORDER BY `TBL Adressen postalisch`.`Name` ASC
Das AS wurde vor kurzem für die Erstellung mit der GUI herausgenommen, da es Datenbanken gibt die dieses zur Deklaration des Alias nicht nutzen. ORACLE warf bei einem so definierten Alias immer einen Fehler aus.
Nachtrag: Mir ist gerade aufgefallen, dass aus der geposteten Fehlermeldung eine merkwürdige Feldbezeichnung wird. Schau Dir einmal das "I" von IDNr an. Da ist das Hochkomma zusammen mit dem I als ein Buchstabe aufgeführt - das ist dann ein Sonderzeichen (welches auch immer) und die Feldbezeichnung ist nicht maskiert. Außerdem ist ein Teil der Tabellenbezeichnung (postalisch) gegenüber dem anderen Code plötzlich groß geschrieben.
Gruß
Robert
Re: LibreOffice 5.1 - Base --- Abfragen mit Alias nicht möglich
Verfasst: Fr 28. Okt 2016, 18:02
von Pit Zyclade
@DietmarB
Ich bin ja nur Laie aber sehr irritiert.
Du hast also in der Abfrage (!) für die Spalte 'ID' einen alias definieren wollen?
Wird denn 'ID' dort überhaupt angezeigt? In der SQL-Anweisung konnte ich das so nicht erkennen. Eigentlich sind es ja zwei verschiedene IDs aus zwei differenten Tabellen. Vermutlich müsstest Du dann beiden IDs denselben alias zuweisen (Ich habe nur wenig Erfahrung).
Re: LibreOffice 5.1 - Base --- Abfragen mit Alias nicht möglich
Verfasst: Mo 31. Okt 2016, 19:23
von DietmarB
Hallo Robert,
die Version LibreOffice 5.1 habe ich erst in den letzten Tagen upgedated. Der PC läuft unter Windows 10 prof..
Die Tabellen sind verknüpfte Tabellen aus einer Access-Backend-Datenbank. Wenn ich die kompletten Tabellen anzeigen lasse erscheinen alle Datensätze ganz normal auf dem Bildschirm.
Die Abfrage un die es hier geht habe ich eigentlich in der grafischen Ansicht erzeugt. Nur weil ich noch keine Ahnung habe wie ich eine Hardcopy des Bildschirmes hier herein kopieren kann habe ich mir sie in der SQL-Ansicht anzeigen lassen.
Was mir inzwischen aber aufgefallen ist: Wenn ich eine graphische Abfrage in der Win-Version von Base anzeige sind alle Alias-Felder leer.
Ich besitze aber auch noch einen PC der unter Ubuntu-Linux läuft. Auch darauf ist LibreOffice installiert. Und auch mit diesem übe ich immer wieder einmal. Bei den ersten Versuchen graphische Abfragen zu erstellen habe ich sofort gemerkt, dass in dieser Base-Version, in der graphischen Abfrage unter jedem Feldnamen auch im Alias-Feld der Name des Feldes steht. Und das, ohne dass ich sie eingegeben habe.
Noch etwas zu Deinem Hinweis zum I in der Fehlermeldung. Diese habe ich abgetippt. Dabei habe ich wohl vergessen nach dem Apostroph die Leertaste zu drücken. Somit ist dieser wohl auf das I gehüpft.
Hallo Pit,
dass ich gerade dem ersten Feld einen Alias zuweisen wollte war reiner Zufall. Aber auch bei den anderen Feldern kann ich keine Alias-Namen zuweisen.
Nun noch einmal meine Frage in die Runde. Was kann der Grund dafür sein, dass ich in der Win-Version von LibreOffice Base keine Alias-Namen vergeben kann? Ähnliche Fehlermeldungen habe ich inzwischen auch erhalten wenn ich in einem Funktionsfeld eine Funktion ausgewählt habe. Stimmt wohl etwas nicht mit der neuen Base-Version? Beim Googlen ist mir auch ein Artikel untergekommen in dem geschrieben stand, dass Base Java braucht. Auch Java habe ich erst vor ein paar Tagen upgedated. Ich bin also ratlos.
Gruß
Dietmar
Re: LibreOffice 5.1 - Base --- Abfragen mit Alias nicht möglich
Verfasst: Mo 31. Okt 2016, 20:11
von RobertG
Hallo Dietmar,
wenn Du eine Abfrage in der Design-Ansicht erstellst, dann wird bei einem Alias
erzeugt.
Es kann sein, dass Access damit nicht umgehen kann. Ich kann das hier mangels entsprechender Datenbank nicht testen.
erzeugt einen Alias, wie er auch in den früheren Versionen von LO in der GUI vertreten war. Oracle hatte damit aber Probleme. Deshalb wird mittlerweile das AS weggelassen.
Ein Alias mit AS kannst Du nur in der SQL-Ansicht erzeugen. Führe so eine Abfrage auch in der SQL-Ansicht aus. Sobald Du danach aber wieder in die GUI-Ansicht übergehst verschwindet das AS. Deshalb einfach einmal versuchen, ob das Problem mit dem AS zusammenhängt. Dann müssen wir eine entsprechende Bugbeschreibung aufgeben, die sowohl Access als auch Oracle auf irgendeine Art und Weise gerecht werden kann.
Bei den Linux-Versionen musst Du zwischen denen der Distribution und denen von LibreOffice direkt unterscheiden. Vermutlich hast Du eine Version installiert, die mit Ubuntu ausgeliefert wird. Ich kenne hier unter OpenSUSE nicht so ein Verhalten, dass von Vornherein ein Alias mit angelegt wird. Greifst Du denn auch mit der Ubuntu-Version auf die Access-Datenquelle zu?
Übrigens: Wenn Du ganz normal eine interne Datenbank über Neu > Datenbank erstellen kannst und dort auch eine Tabelle erstellen kannst, dann funktioniert bei Dir Java einwandfrei.
Gruß
Robert
Re: LibreOffice 5.1 - Base --- Abfragen mit Alias nicht möglich
Verfasst: Di 1. Nov 2016, 10:37
von Pit Zyclade
DietmarB hat geschrieben:... dass ich gerade dem ersten Feld einen Alias zuweisen wollte war reiner Zufall. Aber auch bei den anderen Feldern kann ich keine Alias-Namen zuweisen. ...
Hoffentlich bist Du nicht demselben Problem aufgesessen, wie ich bereits mit meiner LO-Version:
Man muss nämlich, wenn man einen alias in der GUI, also auf der win-Oberfläche ohne SQL, vergibt, nach jeder Vergabe erst auf die Nachbarspalte gehen, bevor man sichern kann und somit den alias fest vergibt. DAS kann einen auch zur Verzweiflung bringen, wenn man es nicht weiß.
Re: LibreOffice 5.1 - Base --- Abfragen mit Alias nicht möglich
Verfasst: Di 1. Nov 2016, 19:04
von RobertG
Hallo Pit,
der Alias ist ja sehr wohl drin. Das zeigt die Fehlermeldung
Code: Alles auswählen
Die Dateninhalte konnten nicht geladen werden. Syntaxfehler (fehlender Operator) in Abfrageausdruck ‚`TBL Adressen Postalisch`.`IDNr``Nummer`.
Durch die GUI wird hier das 'AS' nicht mehr eingesetzt, sondern eben "Nummer" direkt hinter das Feld geschrieben. Angeblich sollen das alle Datenbanken akzeptieren - auch Oracle, die mit 'AS' als Aliaszuweisung nicht anfangen kann.
Gruß
Robert
Re: LibreOffice 5.1 - Base --- Abfragen mit Alias nicht möglich
Verfasst: Di 1. Nov 2016, 19:35
von Pit Zyclade
RobertG hat geschrieben:...
der Alias ist ja sehr wohl drin. Das zeigt die Fehlermeldung
Code: Alles auswählen
Die Dateninhalte konnten nicht geladen werden. Syntaxfehler (fehlender Operator) in Abfrageausdruck ‚`TBL Adressen Postalisch`.`IDNr``Nummer`.
Durch die GUI wird hier das 'AS' nicht mehr eingesetzt, sondern eben "Nummer" direkt hinter das Feld geschrieben. Angeblich sollen das alle Datenbanken akzeptieren - auch Oracle, die mit 'AS' als Aliaszuweisung nicht anfangen kann.
Hallo Robert,
Dann verstehe ich seinen Beitrag gar nicht.
Er schrieb doch, er könne gar keinen alias auf der GUI vergeben. Er schrieb auch, dass er die
eingebaute HSQLDB nähme. Die Sache mit AS oder kein AS kommt doch nur, wenn eine QSL-Aufforderung besteht, die entweder die Datenbank nicht versteht oder die mit falscher Syntax abgesendet wird. Letzteres ist natürlich ein weitläufiges Feld, denn es kann auch sein, dass kein alias da ist und abgefordert wird oder es wird syntaktisch falsch abgefordert, so wie Du vermutest.
Wollen mal warten, was er antwortet.
Gruß
Re: LibreOffice 5.1 - Base --- Abfragen mit Alias nicht möglich
Verfasst: Di 1. Nov 2016, 21:51
von RobertG
Hallo Pit,
das Problem ist etwas komplizierter: Ich habe bei dem Code im ersten Posting gleich darauf geschlossen, dass es sich nicht um die eingebaute HSQLDB handelt. Im zweiten Posting schreibt Dietmar dann auch, dass er mit Base auf eine Access-Datenquelle zugreift.
Ebenfalls im ersten Posting steht, dass Dietmar sehr wohl einen Alias eintragen konnte. Sobald aber die Abfrage gestartet wurde kamen dann keine Daten, sondern eine Fehlermeldung. Und diese Meldung bezieht sich auf die Definition des Alias, die Access wohl nicht versteht.
Gruß
Robert
Re: LibreOffice 5.1 - Base --- Abfragen mit Alias nicht möglich
Verfasst: Mi 2. Nov 2016, 10:58
von Pit Zyclade
@RobertG
Stimmt. Bei genauem nochmaligen Lesen der beiden postings kommt heraus, dass es sich um eine access-db handelt.
Hatte ich überlesen. So ist das Alter... Danke für die Diskussion.
Gruß
Pit