![]() |
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 |
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 ![]() Suchstichworte: Delphi DataGrid csv export Grüße Klaus |
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 |
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 |
AW: AccessDB in csv-Datein umwandeln
Wenn es nur darum geht, alle Tabellen zu exportieren, kann man sich auch mit
![]() ![]() |
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 |
AW: AccessDB in csv-Datein umwandeln
Ich habe doch die Befehle genannt und sogar verlinkt, was sollen wir denn noch tun?
|
AW: AccessDB in csv-Datein umwandeln
Was fehlt Dir denn? Wie lautet denn die genaue Aufgabenstellung?
Gruß K-H |
AW: AccessDB in csv-Datein umwandeln
Zitat:
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 ![]() ![]() Viel Erfolg beim Selbststudium :thumb: |
AW: AccessDB in csv-Datein umwandeln
Zitat:
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 |
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. |
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 :) |
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... ![]() Danke auch für die Tipps und Links... Einwenig Ahnung (Basis) von DB habe ich, nur von Delphi halt weniger. VG bela |
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 |
AW: AccessDB in csv-Datein umwandeln
Zitat:
Erstelle ein Tool mit dem man eine mdb in csv umwandeln kann. Zitat:
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. |
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 |
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. |
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:
Gruß K-H |
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: |
AW: AccessDB in csv-Datein umwandeln
Zitat:
Aber wir haben hier ja so schöne Code-Tags (sogar für SQL, wenn man sich Mühe gibt)
SQL-Code:
und kaum macht man es richtig, kann man auch was erkennen.
SELECT * INTO [Text;FMT=Delimited(;);HDR=Yes;DATABASE=C:\Users\blema\Documents\Embarcadero\Studio\Projekte\DB AccessTOcsv;].[csvCategories.csv]
FROM Categories; 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: |
AW: AccessDB in csv-Datein umwandeln
Liste der Anhänge anzeigen (Anzahl: 1)
wenn ich folgender Code:
Code:
ausführe, dann kommt folgende Meldung s.Bild
SELECT * INTO [Text;FMT=Delimited(;);HDR=Yes;DATABASE=C:\Users\blema\Documents\Embarcadero\Studio\Projekte\DB AccessTOcsv;].[csvCategories.csv]
FROM Categories; |
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: |
AW: AccessDB in csv-Datein umwandeln
Zitat:
Und wenn man's richtig macht, geht's auch!:wink: Zitat:
Zitat:
Hat sich die Fehlermeldung erledigt oder brauchst Du noch eine Hilfestellung? Gruß K-H |
AW: AccessDB in csv-Datein umwandeln
nein, der Fehler ist immer noch da...
|
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. |
AW: AccessDB in csv-Datein umwandeln
dann versuch es mal so:
Code:
oder so
SELECT * INTO [Text;FMT=Delimited;HDR=Yes;DATABASE=C:\Users\blema\Documents\Embarcadero\Studio\Projekte\DB AccessTOcsv;].[csvCategories.csv]
FROM Categories;
Code:
oder so
SELECT * INTO [Text;FMT=Delimited(';');HDR=Yes;DATABASE=C:\Users\blema\Documents\Embarcadero\Studio\Projekte\DB AccessTOcsv;].[csvCategories.csv]
FROM Categories;
Code:
Ich muß leider raten, da ich kein Access zur Hand habe.
SELECT * INTO [Text;FMT=Delimited(";");HDR=Yes;DATABASE=C:\Users\blema\Documents\Embarcadero\Studio\Projekte\DB AccessTOcsv;].[csvCategories.csv]
FROM Categories; Gruß K-H U.U mag er auch das Leerzeichen in
Code:
nicht, dann muß hier auch ' oder " genutzt werden.
Projekte\DB AccessTOcsv
|
AW: AccessDB in csv-Datein umwandeln
![]() |
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:
es kommt das gleiche dabei raus
SELECT * INTO [Text;FMT=Delimited(";");HDR=Yes;DATABASE=C:\DBLösungen;].[csvCategories.csv]
FROM Categories; |
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; |
AW: AccessDB in csv-Datein umwandeln
Zitat:
|
AW: AccessDB in csv-Datein umwandeln
Hast Du auch schon die von Jumpy in #27 verlinkte Lösung mit der Schema.ini getestet?
|
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:
MfG
SELECT * INTO [Text;FMT=Delimited('|');HDR=Yes;DATABASE=C:\Test\DBLoesungen;].csvCategories.csv] FROM Categories;
|
AW: AccessDB in csv-Datein umwandeln
Zitat:
|
AW: AccessDB in csv-Datein umwandeln
Zitat:
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:
|
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:
wird beim Export nicht ausgewertet. Da kann man auch hinschreiben
FMT=...
Code:
und man bekommt das gleiche Resultat.
FMT=Oma ihr klein Häuschen;
Hintergrund: In der Registry
Code:
gibt es einen Eintrag Format und der steht default auf CSVDelimited, was gleichbedeutend mit dem
HKLM/SOFTWARE/Microsoft/Jet/4.0/Engines/Text
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 ![]() Hier wird also für jede Exportdatei eine Sektion angelegt die folgende Einträge zwingend enthalten muss (beispielhaft für die Categories.csv)
Code:
oder, wenn es eine Komma-getrennte Datei werden soll
[Categories.csv]
Format=Delimited(;)
Code:
Alle weiteren Möglichkeiten der Konfiguration finden sich im oben angegebenen Link.
[Categories.csv]
Format=CSVDelimited DecimalSymbol=. CurrencyDecimalSymbol=. Das dazu passende Export-Statement lautet also
SQL-Code:
So dann noch ein fröhliches Exportieren :)
SELECT *
INTO [Text;HDR=Yes;DATABASE=C:\DBLoesungen;].[Categories.csv] FROM Categories; |
AW: AccessDB in csv-Datein umwandeln
Zitat:
Ö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 |
AW: AccessDB in csv-Datein umwandeln
Zitat:
|
AW: AccessDB in csv-Datein umwandeln
vielen Dank an alle...
|
AW: AccessDB in csv-Datein umwandeln
Zitat:
Ich schätze einmal die Schema.ini! |
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 01:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz