Memo (longvarchar) Import-Format

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Wurstsuppe
**
Beiträge: 23
Registriert: Do, 23.02.2006 18:19

Memo (longvarchar) Import-Format

Beitrag von Wurstsuppe »

Hallo,

ich habe eine große Calc-Tabelle, die nur Text enthält. Der Inhalt soll als Grundlage für eine Datenbank dienen. Da Base Calc-Dokumente nur lesend als Datenquelle verwalten kann, muss ich also die Calc-Tabelle in Base importieren.

Beim Import wird als Format Text (varchar) mit der Länge 255 vorgegeben. Dies reicht leider nicht, da einige Felder länger als 255 Zeichen sind und außerdem Zeilenumbrüche enthalten. Das Format Memo (longvarchar) wäre demnach passend.

Stellt man dies im Importdialog von Base ein, stürzt OOo beim Import dann leider ab. Hier habe ich aber den Fehler gefunden. Man muss im Calc die ganze Tabelle wirklich als Text (@) formatieren, dann stürzt Base bei Import nicht mehr ab. Leider steht aber nach dem Import in allen Feldern 0.0 statt des korrekten Inhaltes.

Blöderweise kann man ja auch nicht nachträglich die Länge eines Text (varchar) Feldes im Base ändern.

Frage: Wie importiert man ins Base in Memo (longvarchar) Felder?
berndkli
*****
Beiträge: 289
Registriert: Di, 12.04.2005 22:05

Beitrag von berndkli »

Hallo

Beschreib doch mal genau wie du importierst

Gruss Bernd
Wurstsuppe
**
Beiträge: 23
Registriert: Do, 23.02.2006 18:19

Importvorgang

Beitrag von Wurstsuppe »

  • OOo-Base öffnen.
  • Datenbank-Assistent erscheint.
  • Schritt 1 - "Neue Datenbank erstellen" - Weiter.
  • Schritt 2 - "Ja, die Datenbank soll angemeldet werden" und "Die Datenbank zum Bearbeiten öffnen" - Fertig stellen.
  • Dateidialog erscheint - Datenbank speichern.
  • Öffnen meiner Calc-Datei.
  • Markieren des Bereiches, der in die Datenbank eingefügt werden soll.
  • Kopieren.
  • Nach Base wechseln, in die Ansicht Tabellen.
  • Einfügen wählen.
  • Es erscheint ein Fenster "Tabelle kopieren".
  • Als Tabellenname lasse ich "Tabelle1".
  • Unter Optionen wähle ich "Definition und Daten", da in der Calc-Tabelle in der ersten Zeile die Spaltenbezeichnungen stehen. - Weiter
  • Im nächsten Fenster "Spaltenübernahme" übernehme ich alle Spalten. - Weiter
  • Im folgenden Fenster "Typformatierung" stelle ich im Feld Feldtyp "Memo [ LONGVARCHAR ]" ein. - Fertig stellen
  • Die Abfrage "Kein Primärschlüssel" beantworte ich mit "Nein", da ich diesen dann selber später hinzufüge.
  • Die Calc-Tabelle wird importiert, nur leider ist diese entweder leer (nur die Spaltenbezeichnungen wurden übernommen) oder es steht 0.0 in allen Feldern. Es hängt von der Formatierung der Zellen im Calc ab (0.0 wenn alle Zellen als Text formatiert waren, sonst ist alles leer).
berndkli
*****
Beiträge: 289
Registriert: Di, 12.04.2005 22:05

Beitrag von berndkli »

Hallo

Ich glaube, es liegt nicht an der Formatierung der Tabelle, sondern daran, dass kein Primärschlüssel vorhanden ist.
Ich habe mal deine Vorgehensweise nachgestellt und bekomme dann eine Fehlermeldung (etwas mit Insert Privileges) und habe nur die Spaltenüberschriften; mach ich jedoch das Häckchen vor "Primärschlüssel erstellen" funktioniert alles einwandfrei.

Wenn du deinen Primärschlüssel selbst gestallten willst, geh folgendermassen vor:
Füge in deine Calc Tabelle eine Spalte für den Primärschlüssel ein und trage dort was ein.
Erstelle in Base manuell eine Tabelle mit exakt den gleichen Spaltenüberschriften wie in der CAlc Tabelle und stelle die entsprechenden Typformatierungen ein.
Die Primärschlüssel Spalte nicht auf auto increment setzen.
Beim Einfügen in Base wahlst du unter Optionen "Daten anhängen",
dann sollte es eigentlich funktionieren.

Gruss Bernd
Wurstsuppe
**
Beiträge: 23
Registriert: Do, 23.02.2006 18:19

Beitrag von Wurstsuppe »

Erstmal danke für die Mühen.
berndkli hat geschrieben:mach ich jedoch das Häckchen vor "Primärschlüssel erstellen" funktioniert alles einwandfrei.
Nö, dass ändert bei mir leider auch nichts.
berndkli hat geschrieben:Wenn du deinen Primärschlüssel selbst gestallten willst, geh folgendermassen vor ...
Die ganze Tabelle wird importiert, leider werden beim Import immer noch alle Zelleninhalte zu 0 verarbeitet, wenn im Base der Spaltentyp Memo [LONGVARCHAR] ist.

Grüße.
berndkli
*****
Beiträge: 289
Registriert: Di, 12.04.2005 22:05

Beitrag von berndkli »

Hallo W.

Probier's mal so.

Lege in Base deine Tabelle wie oben von mir beschrieben an.

Kopiere dann den Datenbereich deiner Calctabelle, geh dann auf die Base Tabellenansicht => Rechtsklick => Inhalte einfügen... => Formatierter Text
=> Daten anhängen usw.

Wenn's dann immer noch nicht geht, hat die Datei wahrscheinlich einen Fehler. Lege dann mal eine neue Datei an und versuch's nochmal.

Gruss Bernd
Wurstsuppe
**
Beiträge: 23
Registriert: Do, 23.02.2006 18:19

geht immer noch nicht

Beitrag von Wurstsuppe »

Hallo,

leider sind wir der Lösung immer noch nicht viel näher gekommen.
berndkli hat geschrieben:Lege in Base deine Tabelle wie oben von mir beschrieben an.
Habe ich gemacht.
berndkli hat geschrieben:Kopiere dann den Datenbereich deiner Calctabelle, geh dann auf die Base Tabellenansicht => Rechtsklick => Inhalte einfügen... => Formatierter Text => Daten anhängen usw.
Auch gemacht. Beim Einfügen der Daten kommt ein Auswahldialog, ob man HTML oder RTF einfügen möchte. Wähle ich RTF, wird gar nichts eingefügt, bei HTML immerhin ein Teil. Einige Spalten sind so, wie sie sein sollen, einige sind wieder mal 0.
berndkli hat geschrieben:Wenn's dann immer noch nicht geht, hat die Datei wahrscheinlich einen Fehler. Lege dann mal eine neue Datei an und versuch's nochmal.
Hab' ich auch probiert, selbiges Ergebnis.

Wäre es dir vielleicht möglich, deine Base- und Calc-Datei, mit denen du probierst, irgendwohin hochzuladen (z.B. nach http://www.filehosting.cc/), so dass ich mal sehen kann, wie du Spalten- und Zellenformatierungen angelegt hast?

Danke und Grüße.
berndkli
*****
Beiträge: 289
Registriert: Di, 12.04.2005 22:05

Beitrag von berndkli »

Hallo W.

Hier ist die Calc Datei
http://www.filehosting.cc/?d=14ABB13A
und hier die Base
http://www.filehosting.cc/?d=7F628753

Du musst beim Einfügen RTF markieren, hatte ich vergessen zu schreiben.
Die Formatierung der Calczellen ist egal. Spalte Text1 ist als Zahl, Spalte Text2 als Text formatiert.

Gib mal Bescheid ob's geholfen hat.

Gruss Bernd
Wurstsuppe
**
Beiträge: 23
Registriert: Do, 23.02.2006 18:19

danke

Beitrag von Wurstsuppe »

Hallo,

danke für's Bereitstellen der Dateien. Habe sie schon heruntergeladen, komme aber im Moment gerade nicht zum Testen.

Danke und Grüße.
Wurstsuppe
**
Beiträge: 23
Registriert: Do, 23.02.2006 18:19

es klappt einfach nicht

Beitrag von Wurstsuppe »

So, jetzt hatte ich mal genug Zeit, mich mit den Beispieldateien zu befassen.

Wie sich gezeigt hat, habe ich meine Tabellen auch nicht anders formatiert. Soweit also erstmal kein Fehler meinerseits.

Folgendes habe ich nun versucht:
  • eine neue Datenbank-Tabelle erstellt gemäß deiner Vorgaben und nach Anleitung versucht, die Calc-Daten einzufügen - es klappt nicht, Datenbank-Tabelle bleibt leer
  • in der Calc-Tabelle die ID's von 1,2,3,4 nach 5,6,7,8 umbenannt und versucht, diese an die bestehende Tabelle anzuhängen - nichts passiert
  • natürlich sämtliche Variationen (HTML/RTF, einfügen/Inhalten einfügen) probiert
Langsam komme ich mir schon etwas dämlich vor. Ich glaube, ich installiere mal neu, vielleicht ist ja was in meinem OOo kaputt.

Vielen Dank noch mal für die Hilfe.
Antworten