LibreOffice wird auf der Plattform Linux Mit 19.3 ; 64-bit betrieben.
Da eine entsprechende Verbindungsform (ODBC) zwar vorhanden sein soll,
aber nicht zu funktionieren scheint!
Soviel mir bekannt ist, kannst du Abfragen nicht aus Access übernehmen. Wie Tabellen übernommen werden können, kannst du dem ausführlichen Handbuch Base, von @RobertG, entnehmen.
Dazu steht im Handbuch nichts, weil ich dort nur die unter Linux direkt verfügbaren Datenbanken untersucht habe. Vielleicht hilft allerdings Bug 126811, der ein Kontaktproblem nach Access unter Windows mit LO 6.3.0.4 beschreibt. Außerdem noch dieser Metabug, der alle Verbindungsschwierigkeiten sammelt: Metabug 113372.
Von den Abfragen würde ich den Code retten und dann probieren, wie weit der sich in Base als SQL-Code weiter nutzen lässt. Das hängt dann ganz von der verwendeten Datenbank ab (extern oder intern, bei beiden dann auch noch Auswahlmöglichkeiten …).
Der Transfer funktioniert so:
Die ACCESS Datei oben links neben der ID markieren oder auch Teile davon> ggf von unten rechts bis oben links kopieren,damit auch die Spaltenbezeichnungen dabei sind.
CALC aufmachen - Cursor auf A1 und EINFÜGEN Abspeichern unter z.B. unter Test1
Jetzt die Tabelle so aufbereiten, dass keine großen Zeilen sind, wenn eine oder mehrere Informationen zu breit sein sollten.
Es kann sein, dass Datuminformationen als Dezimalwerte dargestellt werden; entsprechend korrigieren. Wenn alles korrekt ist, die Datei unter Tabelle1 abspeichern.
Neue Datenbank erstellen mit HSQLDB
Ganz oben unter LIBREOFFICE auf die Mappe gehen und EINFÜGEN Tabelle1 Ein Fenster Tabellenname wird geöffnet: Tabelle1 Definition und Daten Erste Zeile als Spaltenüberschrift. Einen neuen Primärschlüssel erstellen. Jetzt alle Begriffe von links nach rechts rüberholen ID1 bearbeiten mit Auto-Wert und Integer
Den alten Schlüssel (ID)kannst du, wenn alles funktioniert hat, löschen
Die Abfragen lassen sich nicht so einfach übertragen. Mit SQL geht das.
Die Abfrage aufrufen und unter der entsprechenden Abfrage: mit SQL kopieren!
Unter ACCESS sieht das so aus
SELECT Tabelle1.Nachname, Tabelle1.Vorname, Tabelle1.Geburtstag, Tabelle1.Stimme, Tabelle1.[FN-Telefon], Tabelle1.[Mobil-Telefon], Tabelle1.[E-Mail]
FROM Tabelle1WHERE (((Tabelle1.Stimme)=“1.Bass”)) ORDER BY Tabelle1.Nachname;
Abfrage in LO erstellen; die kopierte ACCESS Abfrage einbinden und entsprechend ändern
In LO muss das so aussehen
SELECT “Nachname”, “Vorname”, “Geburtstag”, “Stimme”, “FN-Telefon”, “Mobil-Telefon”, “E-Mail” FROM “Tabelle1” WHERE “Stimme” = ‘1.Bass’
So habe ich das gemacht, Fachleute können das vielleicht noch eleganter… Wenn es dir geholfen hat, wäre ich für das Häkchen dankbar
Danke,
hat die Terra Inkognita transparenter gemacht!
Danke f. das rege Interesse,
es sind hilfreiche Tipps zur Problemlösung, danke dafür!
Es ist nur so, das die SQL- Statements mit Dialekten der Engine - Entwickler versehen sind
und von mir, diese so eleganten Zusätze, vermehrt verwendet wurden!
Es wird wohl das Beste sein, dank Euch, mit Transmit/Rollback das gesamte Konstrukt
als Backup in einen neutralen Ordner zu übertragen.
Gemäß eurer Vorschläge “Base” damit füttern.
für den VB-Code soll es bereits eine Lösung geben!
Danke euch!