Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Daten aus Excel incl. Formatierung

33 views
Skip to first unread message

Gerhard

unread,
Sep 25, 2010, 6:18:05 AM9/25/10
to
Hallo,

ich versuche Daten aus Excel incl. Formatierung in eine SQL Server 2000
Tabelle zu importieren. Das ganze soll mittels VBA gelöst werden.
Frontend ist Access XP.

Der Zugriff mittels ADO auf die Excel Datei funktioniert.

Das heißt ich habe eine Excel Datei und in einer der Spalten befindet
sich formatierter Text (fett, aufzählungen, ...)

Kann mir jemand einen Tipp oder Link geben wie ich das bewerkstellige.

Im Access Frontend wird das ganze später per FMS Memo Control (RTF)
dargestellt.

Danke
Gerhard

Wolfgang Badura

unread,
Sep 26, 2010, 12:24:27 PM9/26/10
to
Hallo Gerhard!
"Gerhard" <ghx...@t-online.de> wrote in message
news:i7ki8t$d72$00$1...@news.t-online.com...

> Das heißt ich habe eine Excel Datei und in einer der Spalten befindet sich
> formatierter Text (fett, aufzählungen, ...)
Du weißt sicher, daß in Tabellen keine Formatierungen gespeichert sind.
Wenn Du Formatierungen bestimmter Spalten haben möchtest, mußt Du eine (oder
mehrere) Spalte(n) mit den Formatierungsinformationen zu bestimmten Spalten
in diese Tabelle aufnehmen.
Hier wird es aufwendig, wenn beim Import Excel-spezifische
Formatierungsinformationen zu berücksichtigen sind.

> Im Access Frontend wird das ganze später per FMS Memo Control (RTF)
> dargestellt.

Hier gibst Du Dir eigentlich selbst schon die Antwort auf Deine Frage:
Erst in Formularen, Berichten kannst Du die Daten wieder formatieren.


Gerhard

unread,
Sep 27, 2010, 12:30:15 PM9/27/10
to
hmm ...

also dieses fms memo control wird ja schon an anderer stelle für andere
zwecke eingesetzt, im grunde aber dafür um text formatieren zu können
und diesen dann incl. formatierung in der datenbank zu speichern ... das
ganze als rtf ... d.h. wenn ich im sql enterprise manager die tabelle
dann mit select meinrtffeld from meinetabelle anzeigen lassen bzw. die
datensätze dann sehe ich da dieses ganze rtf kauderwelsch

nun habe ich daten in einer excel liste die in die sql server 2000
datenbank übernommen werden sollen ... dabei gibt es formatierten text
in einigen spalten der excel liste

genaugenommen habe ich 4 spalten die verschiedenartig formatierten text
enthalten können wobei hier nicht die ganze zelle formatiert ist,
sondern im grunde nur der inhalt der zelle ... so als ob all das was
hier in meiner antwort zu lesen ist genau so in der zelle steht, aber
einzelne wörter fett sind (z.b. das hmm ... ganz oben) andere
unterstrichen usw.

ich hab schon ein paar sachen ausprobiert und z.b. zeilenschaltungen
werden richtig übernommen ...

was allerdings fehlt ist fettschrift, farbige schrift usw.

nun habe ich das ganze mal wie folgt ausprobiert

eine zelle bzw. den zellinhalt (was davon genau weiß ich im moment grad
nicht) markiert, kopiert und über einfügen im access formular im fms
memo control eingefügt ... und dabei werden auch die formatierungen wie
fett, farbig usw. übernommen

ich hatte halt gehofft das es auch ohne copy & paste irgendwie geht

tja, was ich nun suche ist ein stück visual basic code den ich in meinem
formular auslösen kann damit der mir per copy & paste aus einer zu
öffnenden excel datei eine vorgegebene zelle bzw. deren inhalt kopiert
und mir in das fms memo control einfügt

ich bin selbst schon am suchen, da ich mit der zwischenablage aber noch
keine erfahrung habe kann ich im moment nicht einschätzen ob das was ich
gefunden habe auch so funktioniert wie ich mir das vorstelle

es wäre schön wenn mir dazu nun irgend jemand was genaueres sagen könnte
oder mir nen guten link geben könnte :)

danke
gerhard

Wolfgang Badura

unread,
Sep 28, 2010, 5:32:58 AM9/28/10
to
Hallo Gerhard!
"Gerhard" <ghx...@t-online.de> wrote in message
news:i7qgqn$bmu$00$1...@news.t-online.com...

> eine zelle bzw. den zellinhalt (was davon genau weiß ich im moment grad
> nicht) markiert, kopiert und über einfügen im access formular im fms memo
> control eingefügt ... und dabei werden auch die formatierungen wie fett,
> farbig usw. übernommen

Wenn Du das willst, so mußt Du die **gesamten** RTF-Informationen in
Memo-Felder der Tabelle speichern.
Wenn es Dir irgendwie gelingt, die Exel-Tabelle inkl. den
Formatierungsinformationen im RTF-Format zu exportieren,
dann wäre ein Import in ein Memo-Feld schon möglich. Dann allerdings,
darüber mußt Du Dir schon im Klaren sein,
ist eine Suche nach den eigentlichen Informationen in diesem RTF-Wust (fast)
unmöglich.

Mittels CSV-Export gehts nicht, das habe ich probiert.
Mittels direktem Import in eine Access-Tabelle auch nicht.
Als HTML-Export schon. Der Export einer ganzen Tabelle nach Spalten und
Zeilen ist dann das Problem. Weiters Kannst Du dann den Inhalt nur in einem
Internetcontrol darstellen, ein Editieren ist nicht möglich. Auch in diesem
Fall ist eine Suche nach den eigentlichen Informationen
in diesem RTF-Wust (fast) unmöglich.

Vielleicht gehts über den Umweg über Word. Aber siehe oben!
Vielleicht kann Dir über einen RTF-Export eine Excel.Newsgroup weiterhelfen.

Wenn Dir dort geholfen wird, dann melde Dich doch hier wieder.
Ich fürchte aber, daß Du auf sinnvoll editierbare Informationen wirst
verzichten müssen.

Wolfgang


Gerhard

unread,
Sep 28, 2010, 4:18:59 PM9/28/10
to
hallo wolfgang / all,

ich denke ich habs jetzt hinbekommen, der letzte kurztest war jedenfalls
soweit erfolgreich

leider nur etwas umständlich :)

bzgl. rtf export aus excel: also ich hab das internet schon bemüht aber
exlizit dazu keine frage irgendwo gepostet ... es deutet aber alles
daraufhin dass es keine einfache möglichkeit gibt aus excel raus daten
als rtf zu speichern bzw. zu exportieren ... wenn dann auch nur über den
word zwischenschritt ... vielleicht hab ich aber auch nicht lange genug
gesucht oder hätte vielleicht doch mal ne frage dazu posten sollen (was
ich vielleicht sogar noch machen werde)

aber erstmal hier zu meiner (für mich erstmal) funktionierenden lösung:

ich greife von access auf excel zu, kopiere die gewünschte zelle in die
zwischenablage, öffne ein neues word dokument, füge da den text aus der
zwischenablage ein und speichere das word dokument dann als rtf

diese rtf datei muß ich dann nur noch "öffnen" um mir den rtf quelltext
rauszuholen und über access in die datenbank schreiben

suche ist nicht wichtig ... bzw. besteht die möglichkeit über dieses fms
memo control den reinen text, also ohne das ganze rtf gedöns, separat zu
speichern ... werd ich aber erstmal nicht machen, da es nicht benötigt
wird und bei bedarf auch zu einem späteren zeitpunkt noch nachgeholt
werden kann

ich poste morgen oder übermorgen den code dazu, angefangen da wo access
auf excel zugreift und endend damit wo access den rtf quelltext wieder
in die datenbank schreibt

vielleicht lässt sich ja noch was optimieren oder bzgl. code verschönern :)

wenn alles fertig ist werden damit wohl um die 5000 temporäre rtf
dateien erstellt

dann mal bis morgen/übermorgen und danke für die hilfe

Wolfgang Badura

unread,
Sep 28, 2010, 7:00:22 PM9/28/10
to
Hallo Gerhard!
"Gerhard" <ghx...@t-online.de> wrote in message
news:i7qgqn$bmu$00$1...@news.t-online.com...

> nun habe ich daten in einer excel liste die in die sql server 2000
> datenbank übernommen werden sollen ... dabei gibt es formatierten text in
> einigen spalten der excel liste

Noch etwas möchte ich Dir zu bedenken geben:

Ich glaube, daß das, was Du tun möchstest, nicht wirklich in eine
Datenbankanwendung gehört,
es sei denn, Du möchtest eine Dokumentenverwaltung aufbauen.
Dann brauchst Du, um in Datenbanksystemen implementierte Such- und
Sortierfunktionen zu nutzen auch
den unformatierten Dokumenteninhalt.
Üblicherweise haben Textverarbeitungssysteme neben dem unformatierten Text
die zugehörigen Formatierungsinformationen von diesen sauber getrennt
gespeichert.
Sonst würde auch Word oder Excel nichts mehr finden.
Deine Excel-Tabellen nutzen offenbar Textverarbeitungsfeatures mehr als
Tabellenfeatures.
Dummerweise enthält das RTF-Format die Formatierungsinformationen
unmittelbar vor den jeweiligen
Zeichen/Wörtern/Absätzen. Damit findest Du ein Wort nicht mehr, welches zB.
auch nur ein Zeichen
gegenüber den anderen unterschiedlich formatiert hat.
Aber das Wesen einer Datenbankanwendung ist das Auswerten von Daten kreuz
und quer, sortieren, suchen etc.
Ich würde Dir deshalb raten, den unformatierten Text auch zu speichern.

Weiters empfehle ich Dir, sich mit dem Text Objekt Modell (TOM) von
Microsoft zu beschäftigen.
Das nämlich kann zB. RTF-Formate be- und verarbeiten, umformen, Codepages
ändern und vieles andere mehr.

Es ist auch nicht ganz trivial, Formatierungen von Texten in einer
RichTextBox auszuführen, also
zB. Textstellen fett oder bunt darzustellen.

Deshalb würde ich hinterfragen, ob eine Datenbank wirklich das geeignete
Medium ist, quasi
Textverarbeitungsfunktionen wahrzunehmen.
Einfacher wäre es wahrscheinlich Objektverweise zu verwalten und diese
Objekte mit den zugehörigen Anwendungen zu bearbeiten.

Wolfgang.


0 new messages