Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi AccessDB in csv-Datein umwandeln (https://www.delphipraxis.net/183803-accessdb-csv-datein-umwandeln.html)

blema 5. Feb 2015 15:45

Datenbank: Access • Version: 2010 • Zugriff über: ADO

AccessDB in csv-Datein umwandeln
 
Hallo zusammen,

ich habe ein kleines Problem!
Ich muss für eine Hausaufgabe, Daten aus eine Test-AccessDB in csv-Datei umwandeln.
Ich benutze Delphi XE7 - Testversion.
Für den Datenzugriff habe ich folgende Komponenten benutzt: DataSource, ADOConnection, ADOTable und DataGrid

Es werden nur eine Tabelle angezeigt, was klar ist, weil der DataGrid mit nur eine Tabelle verlinkt ist.

Wie bekomme ich die ganze AccessDB(8 Tabellen und 2155 Datensätze) in csv umgewandelt?

Bitte hilft mir :-)

Vielen Dank im voraus

VG blema

Klaus01 5. Feb 2015 15:47

AW: AccessDB in csv-Datein umwandeln
 
.. durch die Datensätze (das Grid) wandern,
die Felder auslesen und mit ";" oder "," getrennt abspeichern.

Hier ist auch eine Lösung zu finden.
Suchstichworte: Delphi DataGrid csv export

Grüße
Klaus

blema 5. Feb 2015 15:52

AW: AccessDB in csv-Datein umwandeln
 
Hi Klaus,

danke für den Tipp... Das ist leider noch viel zu wenig Info für mich :-( Bin Anfänger.

Danke auch für den Link...

VG blema

p80286 5. Feb 2015 16:22

AW: AccessDB in csv-Datein umwandeln
 
Nun eine DB-Table ist hier ganz klar zuwenig. Du mußt mit Hilfe einer SQL-Abfrage den vollständigen Inhalt der DB in eine Ergebnistabelle bringen und diese dann in einer Datei abspeichern. Das Stichwort hierfür ist ADOQuery.

U.U. kann man aber unter Access schon eine Abfrage definieren, die sich nach außen wie eine Tabelle präsentiert. Das ist dann eine Frage der genauen Aufgabenstellung.

Gruß
K-H

DeddyH 5. Feb 2015 16:34

AW: AccessDB in csv-Datein umwandeln
 
Wenn es nur darum geht, alle Tabellen zu exportieren, kann man sich auch mit GetTablenames alle Tabellennamen in eine Stringliste holen, diese dann in einer Schleife durchlaufen, die entsprechende Tabelle laden und mit den oben verlinkten Methoden exportieren.

blema 5. Feb 2015 17:15

AW: AccessDB in csv-Datein umwandeln
 
vielen Dank für die Antworten.

sorry, dass ich euch nerve :?

Ich bin wirklich Anfänger und komme nicht weiter... Wie gesagt, angezeigt bekomme ich die Daten (nur pro Tabelle) aber alle Tabellen hm :roll:

VG bela

DeddyH 5. Feb 2015 17:29

AW: AccessDB in csv-Datein umwandeln
 
Ich habe doch die Befehle genannt und sogar verlinkt, was sollen wir denn noch tun?

p80286 5. Feb 2015 21:32

AW: AccessDB in csv-Datein umwandeln
 
Was fehlt Dir denn? Wie lautet denn die genaue Aufgabenstellung?

Gruß
K-H

Perlsau 6. Feb 2015 00:32

AW: AccessDB in csv-Datein umwandeln
 
Zitat:

Zitat von blema (Beitrag 1288925)
Ich bin wirklich Anfänger und komme nicht weiter... Wie gesagt, angezeigt bekomme ich die Daten (nur pro Tabelle) aber alle Tabellen hm :roll

Würdest du das bitte etwas genauer beschreiben:
  1. Was sind das für Tabellen? Alleinstehende ohne Verknüpfungen zu Subtabellen? Tabellen mit Fremdschlüssel?
  2. Worin besteht das Problem, alle Tabellen nacheinander in eine CSV-Datei zu schreiben?
Natürlich kannst du nicht alle Tabellen, die ja vermutlich unterschiedliche Tabellenstrukturen aufweisen, in dieselbe CSV-Datei schreiben. Das heißt, du könntest sie in dieselbe Datei schreiben, das wäre dann aber keine CSV-Datei mehr, da sich die Tabellenstruktur irgendwo in der Datei plötzlich ändern würde. Ergo machst du so viele CSV-Dateien, wie du Tabellen hast.

Oder aber es handelt sich um eine Haupttabelle mit ForeignKeys, die auf entsprechende Subtabellen verweisen. Dann verwendest du Joins, um die Werte der Subtabellen auszulesen.

Grundsätzlich möchte ich aber doch eher dazu raten, erst die notwendigen Grundlagen zu erlernen, bevor man sich der weit über das Anfängerstadium hinausreichende Datenbank-Entwicklung widmet. Diese Kenntnisse sind für das weitere Verständnis unabdinglich. Fehlen diese Grundlagen, ist ein Verständnis fortgeschrittener Programmierung nicht möglich. Insbesondere sollte man bei der Datenbank-Entwicklung über SQL-Basiskenntnisse verfügen. Es macht keinen Sinn, dir hier einen ellenlangen Grundlagenkurs zu vermitteln, da du ja angebotene Lösungen nicht zu verstehen scheinst, weil die die Grundlagen fehlen. Ich empfehle hier immer wieder gerne das Delphi-Starter-Ebook vom Delphi-Treff. Dort findest du auch viele weitere Tutorials wie z.B. das über Datenbanken.

Viel Erfolg beim Selbststudium :thumb:

blema 6. Feb 2015 08:24

AW: AccessDB in csv-Datein umwandeln
 
Zitat:

Zitat von p80286 (Beitrag 1288939)
Was fehlt Dir denn? Wie lautet denn die genaue Aufgabenstellung?

Gruß
K-H

Also, an erste Linie mir fehlen Programmierkenntnisse :-(

Aufgabenstellung: Ich soll die Daten aus der Test-AccessDB, ich habe Northwind.mdb runtergeladen als TestDB mit Hilfe von einen von mir ausgewählten Tool, in .csv-Datei Umwandeln.

------- Northwind.mdb -> .csv -Datei ----------

Da wir demnächst mit Delphi arbeiten werden, habe ich mir natürlich als Tool Delphi XE7 runtergeladen und versuche damit die Daten zu konvertieren.
Bis jetzt konnte ich nur enzelnen Tabellen angezeigt bekommen.

Welche Komponenten soll ich benutzen und wie sehen die entsprechende Befehle dafür? Ist das viel Quellcode? Wie geht das überhaupt? Das rumklicken habe ich hingekriegt, aber weiter mit Befehlen :roll:

Danke noch mal...

VG bela

Perlsau 6. Feb 2015 08:32

AW: AccessDB in csv-Datein umwandeln
 
Delphi ist kein Tool, sondern eine umfangreiche Entwicklungsumgebung.
"Rumklicken" ist nicht Programmieren, sondern Spielen.
Programmierkenntnisse eignet man sich mit viel Ausdauer, Motivation und echtem Interesse an. Sind diese drei Eigenschaften ausreichend vorhanden, unterzieht man sich der Mühe, das eine oder andere Anfänger-Tutorial durchzuarbeiten. Danach beginnt man mit einfachsten Programmen wie z.B. einer Adressverwaltung oder einem Taschenrechner.

Sir Rufo 6. Feb 2015 08:34

AW: AccessDB in csv-Datein umwandeln
 
Access kann übrigens eine Tabelle mit einem SELECT INTO direkt eine CSV-Datei schreiben. Da reduziert sich das Programmieren auf das Erfassen des Zielordners, das Abfragen der Tabellennamen und dann das Ausführen des SELECT Statements pro Tabelle.

Einfach mal Tante Google fragen :)

blema 6. Feb 2015 08:45

AW: AccessDB in csv-Datein umwandeln
 
@Perlsau

Danke für deine Antwort.
Es wäre auch kein Problem, wenn ich die einzelnen Tabellen in einzelnen csv-datei speichern würde.
Das Problem ist nur das Konvertierungs-Befehl...

Northwind -> Tool zum konvertieren (Delphi ausgewählt) -> .csv-Datei

Danke auch für die Tipps und Links... Einwenig Ahnung (Basis) von DB habe ich, nur von Delphi halt weniger.


VG bela

blema 6. Feb 2015 09:01

AW: AccessDB in csv-Datein umwandeln
 
hat keiner ein Beispiel, wie man das macht :-)

Ich habe bereits paar Tutorials auf Youtube mir angeguckt und natürlich mit programmiert, aber einfache Sachen noch, wie: Aritmethische Funktionen... das ist relativ einfach.

danke im voraus

VG bela

BadenPower 6. Feb 2015 09:10

AW: AccessDB in csv-Datein umwandeln
 
Zitat:

Zitat von blema (Beitrag 1288954)
Aufgabenstellung: Ich soll die Daten aus der Test-AccessDB, ich habe Northwind.mdb runtergeladen als TestDB mit Hilfe von einen von mir ausgewählten Tool, in .csv-Datei Umwandeln.

Die Aufgabestellung heisst doch nicht:
Erstelle ein Tool mit dem man eine mdb in csv umwandeln kann.

Zitat:

Zitat von blema (Beitrag 1288961)
Northwind -> Tool zum konvertieren (Delphi ausgewählt) -> .csv-Datei

Delphi ist kein Tool um Datentabellen zu konvertieren, sondern ein Tool um ein Tool, für was auch immer, zu erstellen.

Das Erstellen eines Tools ist doch gar nicht in der Aufgabenstellung gefordert.


Das wäre ja, wie wenn ich die Aufgabe bekomme, mit dem PKW ein Päckchen von Hamburg nach München zu bringen und dann hinsitze und mir erst ein Auto baue, obwohl ich keine Ahnung von Fahrzeugentwicklung habe.

blema 6. Feb 2015 09:38

AW: AccessDB in csv-Datein umwandeln
 
ok, vielen Dank für die Aufklärung...

aber das hilft mir nicht weiter... :-(


Nochmal die Aufgabenstellung: Daten aus eine Access-DB in csv-datei umwandeln... Das sollte mit Delphi erreicht werden!

Die Frage ist jetzt nur noch: WIE ?

danke, danke...

VG bela

Sir Rufo 6. Feb 2015 09:46

AW: AccessDB in csv-Datein umwandeln
 
Hast du denn schon mal danach gesucht, wie man aus Access per SELECT INTO eine CSV-Datei erstellt?

Teile dir das doch in kleine Happen auf, die Vorgehensweise habe ich dir schon gesagt. Jetzt löse Schritt für Schritt diese Teilaufgaben und am Ende hast du ein fertiges Ganzes. Das nennt sich dann Entwickeln (und weil es ein Programm wird) von Software.

p80286 6. Feb 2015 10:04

AW: AccessDB in csv-Datein umwandeln
 
Warum nur habe ich das Gefühl, daß Du garnicht weißt was Du tun sollst?
Wenn es darum geht aus der Northwind.mdb eine (oder mehrere .csv-Dateien zu erstellen "exportieren"), dann is Sir Rufos Vorschlag schon einmal nicht schlecht. Weiterhin können Tabellen aus access als .csv Dateien exportiert werden (wenn ich mich richtig erinnere)

Wenn es Teil der Aufgabenstellung ist, unbedingt Delphi zu benutzen, ist zu klären wieviel Vorarbeit in der AccessDB geleistet werden kann/darf und welcher Teil der Aufgabe in Delphi erledigt werden soll.

Du bist übrigens nicht der erste dem
Zitat:

Teile dir das doch in kleine Happen auf, .... Jetzt löse Schritt für Schritt diese Teilaufgaben und am Ende hast du ein fertiges Ganzes.
gegen den Strich geht. Aber so ist das nunmal.

Gruß
K-H

blema 6. Feb 2015 11:14

AW: AccessDB in csv-Datein umwandeln
 
sagt mir bitte, dass ich auf dem richtigen weg bin?!

Access -> Entwurfansicht -> SQL-Ansicht, dann:

SELECT * INTO [Text;FMT=Delimited(;);HDR=Yes;DATABASE=C:\Users\bl ema\Documents\Embarcadero\Studio\Projekte\DB AccessTOcsv;].[csvCategories.csv]
FROM Categories;


ist das OK? say :thumb:

Sir Rufo 6. Feb 2015 12:46

AW: AccessDB in csv-Datein umwandeln
 
Zitat:

Zitat von blema (Beitrag 1288996)
SELECT * INTO [Text;FMT=Delimited(;);HDR=Yes;DATABASE=C:\Users\bl ema\Documents\Embarcadero\Studio\Projekte\DB AccessTOcsv;].[csvCategories.csv]
FROM Categories;

Also mit dem Smiley da drinne sieht das arg befremdlich aus ...

Aber wir haben hier ja so schöne Code-Tags (sogar für SQL, wenn man sich Mühe gibt)
SQL-Code:
SELECT * INTO [Text;FMT=Delimited(;);HDR=Yes;DATABASE=C:\Users\blema\Documents\Embarcadero\Studio\Projekte\DB AccessTOcsv;].[csvCategories.csv]
FROM Categories;
und kaum macht man es richtig, kann man auch was erkennen.

Und hast du das schon ausprobiert? Was ist dabei rausgekommen?

Sollen wir jetzt das in unser Access tippen, auf Ausführen klicken um dir dann zu sagen ob es geht oder nicht?

Gehts noch? Nun hau da auf den Knopf und mache die Erfahrung selber ... wenn es nicht geht, dann beschreib genau was nicht geht, welche Fehlermeldung kommt, etc.

Wenn wir alles für dich machen sollen, dann komme ich auch zum Zwangsbeatmen vorbei (wenn alles, dann auch alles). Wer meldet sich freiwillig zum Entkoten? :mrgreen:

blema 6. Feb 2015 13:16

AW: AccessDB in csv-Datein umwandeln
 
Liste der Anhänge anzeigen (Anzahl: 1)
wenn ich folgender Code:
Code:
SELECT * INTO [Text;FMT=Delimited(;);HDR=Yes;DATABASE=C:\Users\blema\Documents\Embarcadero\Studio\Projekte\DB AccessTOcsv;].[csvCategories.csv]
FROM Categories;
ausführe, dann kommt folgende Meldung s.Bild

blema 6. Feb 2015 13:22

AW: AccessDB in csv-Datein umwandeln
 
@Sir Rufo and the others

als erstes möchte ich mich bedanken...

es ist sehr wahrscheinlich doch so einfach, wenn man sich etwas länger damit beschäftigt hat...

Bereits am Anfang habe ich erwähnt, dass ich ein Anfänger bin...


Sorry, wenn ich euch genervt habe...


trotzdem, vielen Dank für euere Hilfe :thumb:

p80286 6. Feb 2015 14:19

AW: AccessDB in csv-Datein umwandeln
 
Zitat:

Zitat von blema (Beitrag 1289016)
es ist sehr wahrscheinlich doch so einfach, wenn man sich etwas länger damit beschäftigt hat...

Wenn man es kann, ist alles einfach!
Und wenn man's richtig macht, geht's auch!:wink:

Zitat:

Zitat von blema (Beitrag 1289016)
Bereits am Anfang habe ich erwähnt, dass ich ein Anfänger bin...

Ja, und ?

Zitat:

Zitat von blema (Beitrag 1289016)
Sorry, wenn ich euch genervt habe...

Was nervt, sind so kleine Informationshäppchen die Du hier weitergereicht hast. Es wäre schon ganz gut gewesen wenn du auf die verschiedenen Anregungen eingegangen wärst. Allerdings ist "ich bin ein Anfänger" nicht so zielführend. Wenn Du etwas nicht verstanden hast, dann ist das keine Schande, aber dann schreib auch was Du nicht verstanden hast. Sonst dürfen wir dann raten, wie weit dein Anfängerstatus geht. Ein Delphi Anfänger mit 10 Jahren C Erfahrung ist etwas ganz anderes, als ein Anfänger der gerade erfahren hat, daß man mit Delphi auch Programme erstellen kann und nicht nur in Delphi ein ominöses Orakel befragen.

Hat sich die Fehlermeldung erledigt oder brauchst Du noch eine Hilfestellung?

Gruß
K-H

blema 6. Feb 2015 14:26

AW: AccessDB in csv-Datein umwandeln
 
nein, der Fehler ist immer noch da...

jobo 6. Feb 2015 14:40

AW: AccessDB in csv-Datein umwandeln
 
Was passiert wenn Du das angegebene Zeichen ";" änderst?
Verwendest Du Access 2007, da soll es einen Bug geben, bzw.. ist die Fehlermeldung falsch, es fehlt eine Exportspezifikation. Die musst Du erstellen, einfach mal googlen. Hab kein Access hier.

p80286 6. Feb 2015 14:42

AW: AccessDB in csv-Datein umwandeln
 
dann versuch es mal so:
Code:
SELECT * INTO [Text;FMT=Delimited;HDR=Yes;DATABASE=C:\Users\blema\Documents\Embarcadero\Studio\Projekte\DB AccessTOcsv;].[csvCategories.csv]
 FROM Categories;
oder so
Code:
SELECT * INTO [Text;FMT=Delimited(';');HDR=Yes;DATABASE=C:\Users\blema\Documents\Embarcadero\Studio\Projekte\DB AccessTOcsv;].[csvCategories.csv]
 FROM Categories;
oder so
Code:
SELECT * INTO [Text;FMT=Delimited(";");HDR=Yes;DATABASE=C:\Users\blema\Documents\Embarcadero\Studio\Projekte\DB AccessTOcsv;].[csvCategories.csv]
 FROM Categories;
Ich muß leider raten, da ich kein Access zur Hand habe.

Gruß
K-H

U.U mag er auch das Leerzeichen in
Code:
Projekte\DB AccessTOcsv
nicht, dann muß hier auch ' oder " genutzt werden.

Jumpy 6. Feb 2015 15:02

AW: AccessDB in csv-Datein umwandeln
 
Hier wird genau die gleiche Fehlermeldung scheinbar erfolgreich behoben:

blema 6. Feb 2015 15:21

AW: AccessDB in csv-Datein umwandeln
 
ich nutze Access 2010

Ich habe auch das Verzeichniss und den Pfad geändert

..und das Trennzeichen in 3-verschiedene Variationen:

Code:
SELECT * INTO [Text;FMT=Delimited;HDR=Yes;DATABASE=C:\DBLösungen;].[csvCategories.csv]
 FROM Categories;
Code:
SELECT * INTO [Text;FMT=Delimited(';');HDR=Yes;DATABASE=C:\DBLösungen;].[csvCategories.csv]
 FROM Categories;
Code:
SELECT * INTO [Text;FMT=Delimited(";");HDR=Yes;DATABASE=C:\DBLösungen;].[csvCategories.csv]
 FROM Categories;
es kommt das gleiche dabei raus

BadenPower 6. Feb 2015 16:01

AW: AccessDB in csv-Datein umwandeln
 
Dann lass die Formatierung des Trennzeichens einmal weg.

Code:
SELECT * INTO [Text;HDR=Yes;DATABASE=C:\DBLösungen;].[csvCategories.csv]
 FROM Categories;

blema 6. Feb 2015 16:11

AW: AccessDB in csv-Datein umwandeln
 
Zitat:

Zitat von BadenPower (Beitrag 1289044)
Dann lass die Formatierung des Trennzeichens einmal weg.

habe inzwischen auch probiert, der gleiche mist ^^

BadenPower 6. Feb 2015 16:23

AW: AccessDB in csv-Datein umwandeln
 
Hast Du auch schon die von Jumpy in #27 verlinkte Lösung mit der Schema.ini getestet?

pelzig 6. Feb 2015 16:48

AW: AccessDB in csv-Datein umwandeln
 
Geht's immer noch um die Fehlermeldung von #21?

K.A. ob's hilft, aber nimm doch das Pipingsymbol als Trennzeichen und lass den Umlaut im Dateinamen weg. Hast Du im Hauptordner von C:\ Schreibrechte?

Vorschlag (kein Access und von SQL nul Ahnung):

Code:
SELECT * INTO [Text;FMT=Delimited('|');HDR=Yes;DATABASE=C:\Test\DBLoesungen;].csvCategories.csv] FROM Categories;
MfG

blema 6. Feb 2015 18:22

AW: AccessDB in csv-Datein umwandeln
 
Zitat:

Zitat von BadenPower (Beitrag 1289047)
Hast Du auch schon die von Jumpy in #27 verlinkte Lösung mit der Schema.ini getestet?

ja, habe ich... ohne Erfolg

blema 6. Feb 2015 18:25

AW: AccessDB in csv-Datein umwandeln
 
Zitat:

Zitat von pelzig (Beitrag 1289048)
Geht's immer noch um die Fehlermeldung von #21?

K.A. ob's hilft, aber nimm doch das Pipingsymbol als Trennzeichen und lass den Umlaut im Dateinamen weg. Hast Du im Hauptordner von C:\ Schreibrechte?

Vorschlag (kein Access und von SQL nul Ahnung):


ja, es geht immer noch um die Fehlermeldung von#21
Mit dem Pipe-Zeichen habe ich auch versucht, no solution ...

Code:
SELECT * INTO [Text;FMT=Delimited('|');HDR=Yes;DATABASE=C:\DBLoesungen;].csvCategories.csv] FROM Categories;
Zitat:

Zitat von pelzig (Beitrag 1289048)
Hast Du im Hauptordner von C:\ Schreibrechte?

Ja habe ich. Das ist mein privater Rechner

Sir Rufo 6. Feb 2015 18:48

AW: AccessDB in csv-Datein umwandeln
 
Hauahauaha ... hier sind ja einige Anfänger unterwegens :mrgreen:
(Nein, nicht schlagen ... ich bin ja schon lieb :stupid:)

So dann lösen wir mal das Rätsel:

Dieses ominöse
Code:
FMT=...
wird beim Export nicht ausgewertet. Da kann man auch hinschreiben
Code:
FMT=Oma ihr klein Häuschen;
und man bekommt das gleiche Resultat.

Hintergrund:

In der Registry
Code:
HKLM/SOFTWARE/Microsoft/Jet/4.0/Engines/Text
gibt es einen Eintrag Format und der steht default auf CSVDelimited, was gleichbedeutend mit dem
Delphi-Quellcode:
,
ist. Und genau das beisst sich mit der (in Deutschland gültigen) Regions-Einstellung für das Dezimaltrennzeichen
Delphi-Quellcode:
,
.

Man kann jetzt die Registry ändern (doof), die Regionseinstellungen ändern (noch doofer :stupid:) oder man schreibt in das Export-Verzeichnis eine schema.ini (wurde hier auch schon genannt).

Hier wird also für jede Exportdatei eine Sektion angelegt die folgende Einträge zwingend enthalten muss (beispielhaft für die Categories.csv)
Code:
[Categories.csv]
Format=Delimited(;)
oder, wenn es eine Komma-getrennte Datei werden soll
Code:
[Categories.csv]
Format=CSVDelimited
DecimalSymbol=.
CurrencyDecimalSymbol=.
Alle weiteren Möglichkeiten der Konfiguration finden sich im oben angegebenen Link.

Das dazu passende Export-Statement lautet also
SQL-Code:
SELECT * 
INTO [Text;HDR=Yes;DATABASE=C:\DBLoesungen;].[Categories.csv]
FROM Categories;
So dann noch ein fröhliches Exportieren :)

pelzig 6. Feb 2015 19:08

AW: AccessDB in csv-Datein umwandeln
 
Zitat:

Zitat von blema (Beitrag 1289062)
Zitat:

Zitat von pelzig (Beitrag 1289048)
Geht's immer noch um die Fehlermeldung von #21?

K.A. ob's hilft, aber nimm doch das Pipingsymbol als Trennzeichen und lass den Umlaut im Dateinamen weg. Hast Du im Hauptordner von C:\ Schreibrechte?

Vorschlag (kein Access und von SQL nul Ahnung):


ja, es geht immer noch um die Fehlermeldung von#21
Mit dem Pipe-Zeichen habe ich auch versucht, no solution ...

Code:
SELECT * INTO [Text;FMT=Delimited('|');HDR=Yes;DATABASE=C:\DBLoesungen;].csvCategories.csv] FROM Categories;
Zitat:

Zitat von pelzig (Beitrag 1289048)
Hast Du im Hauptordner von C:\ Schreibrechte?

Ja habe ich. Das ist mein privater Rechner

Mein Rechner ist auch mein "privater" Rechner, aber wenn ich nach "C:\" schreiben will, brauche ich Admin-Rechte.

Öffne doch mal auf Deiner Kiste den Ordner "C:\DBLoesungen" oder "C:\DBLösungen" oder wohinauchimmer Du zu exportieren glaubst.

Gibt's die Ordner überhaupt, und falls JA: Was ist da denn drin?
*.csv-Dateien kannst Du mit notepad öffnen.

Als jemand, der von SQL null Ahnung (und auch kein Access) hat:
- Wo wird im SQL-Befehl die Datenquelle eingetragen?
- Wo wird im SQL-Befehl das Exportziel (dessen Dateiname) eingetragen?

Irgendwie scheinen mir in den vielen obigen SQL-Befehlen manche Semikola oder Leerzeichen "falsch" - rein gefühlsmäßig.

MfG

pelzig 6. Feb 2015 19:09

AW: AccessDB in csv-Datein umwandeln
 
Zitat:

Zitat von Sir Rufo (Beitrag 1289063)
Hauahauaha ... hier sind ja einige Anfänger unterwegens :mrgreen:
(Nein, nicht schlagen ... ich bin ja schon lieb :stupid:)

So dann lösen wir mal das Rätsel:

Dieses ominöse
Code:
FMT=...
wird beim Export nicht ausgewertet. Da kann man auch hinschreiben
Code:
FMT=Oma ihr klein Häuschen;
und man bekommt das gleiche Resultat.

Hintergrund:

In der Registry
Code:
HKLM/SOFTWARE/Microsoft/Jet/4.0/Engines/Text
gibt es einen Eintrag Format und der steht default auf CSVDelimited, was gleichbedeutend mit dem
Delphi-Quellcode:
,
ist. Und genau das beisst sich mit der (in Deutschland gültigen) Regions-Einstellung für das Dezimaltrennzeichen
Delphi-Quellcode:
,
.

Man kann jetzt die Registry ändern (doof), die Regionseinstellungen ändern (noch doofer :stupid:) oder man schreibt in das Export-Verzeichnis eine schema.ini (wurde hier auch schon genannt).

Hier wird also für jede Exportdatei eine Sektion angelegt die folgende Einträge zwingend enthalten muss (beispielhaft für die Categories.csv)
Code:
[Categories.csv]
Format=Delimited(;)
oder, wenn es eine Komma-getrennte Datei werden soll
Code:
[Categories.csv]
Format=CSVDelimited
DecimalSymbol=.
CurrencyDecimalSymbol=.
Alle weiteren Möglichkeiten der Konfiguration finden sich im oben angegebenen Link.

Das dazu passende Export-Statement lautet also
SQL-Code:
SELECT * 
INTO [Text;HDR=Yes;DATABASE=C:\DBLoesungen;].[Categories.csv]
FROM Categories;
So dann noch ein fröhliches Exportieren :)

Push :oops:

blema 6. Feb 2015 23:22

AW: AccessDB in csv-Datein umwandeln
 
vielen Dank an alle...

BadenPower 6. Feb 2015 23:54

AW: AccessDB in csv-Datein umwandeln
 
Zitat:

Zitat von blema (Beitrag 1289094)
vielen Dank an alle...

Was war die Lösung?

Ich schätze einmal die Schema.ini!

p80286 7. Feb 2015 09:56

AW: AccessDB in csv-Datein umwandeln
 
Die Schema.ini ist es.
Wenn du allerdings Tante G fragst, wird sie meist für dem Import genutzt. Heb Dir Sir Rufos Erläuterungen gut auf, die sind besser als das meiste was Du finden kannst.

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:53 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz