Excel-Tabelle direkt als BASE-Datenbank

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

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

Re: Excel-Tabelle direkt als BASE-Datenbank

Beitrag von RobertG »

Hallo Thomas,

Du kannst einzelne Arbeitsblätter aus Tabellendokumenten (Calc und Excel) als Datenquelle nutzen. Du hast aber keine Verbindung zwischen den Tabellen wie z.B. in Base. Du kannst auch nicht Abfragen über mehrere Tabellen stellen. Die möglichen SQL-Befehle sind sehr beschränkt.

Wenn Du häufiger Daten aus Tabellendokumenten importieren musst, dann würde ich gegebenenfalls mit zwei Datenbanken arbeiten - eine für die Tabellendokumente, eine für die interne HSQLDB-Datenbank. Dann ist vermutlich auch ḿit nicht allzu großem Aufwand eine Importfunktion (über Makros) möglich.

Gruß

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

Re: Excel-Tabelle direkt als BASE-Datenbank

Beitrag von F3K Total »

Hi,
wenn du ein Tabellendokument als Datengrundlage für BASE verwendest (verknüpfst), stehen dir nur sehr begrenzte SQL-Befehle zur Verfügung!
Es gibt die Möglichkeit z.B. eine CSV-Datei als Text-Table direkt mit der eingebetteten HSQL Datenbank zu verküpfen. Dann steht die SQL-Funktionalität, genau so, als wäre die Datei per STRG-C ins BASE-Fenster geholt worden, zur Verfügung.
Anbei ein einfaches Beispiel, speichere die .csv im gleichen Ordner wie die .odb-Datei
Die Daten stehen in der .csv.
In der .odb gibt es eine komplexe Abfrage.
HTH R
@Robert, oops, da haben sich unsere Beiträge zeitlich überschnitten.
Dateianhänge
Linked_CSV.zip
nur entpacken
(22.83 KiB) 170-mal heruntergeladen
F3K Total
********
Beiträge: 3704
Registriert: Mo, 28.02.2011 17:49

Re: Excel-Tabelle direkt als BASE-Datenbank

Beitrag von F3K Total »

Moin,
wenn du dem zweiten Link gefolgt wärst, hättest Du es selbst herausfinden können.
Es handelt sich um ein TEXT TABLE.

Speziell in diesem Fall, Extras/SQL...
  • Tabellendefinition erzeugen

    Code: Alles auswählen

    CREATE TEXT TABLE "Contacts"("ID" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,"Surname" VARCHAR(50),"Firstname" VARCHAR(50),"Adress" VARCHAR(50),"PostalCode" VARCHAR(50),"City" VARCHAR(50))
  • Dann die .csv als Datenquelle setzen:

    Code: Alles auswählen

    SET TABLE "Contacts" SOURCE "Contacts.csv;fs=\semi;ignore_first=true;all_quoted=false;quoted=true;encoding=UTF-8"
HTH R
Antworten