Hallo Leute,
immer wieder gibt es einen Hinweis auf BatchMove im Zusammenhang mit Daten-Transfers. Leider gibt es nur wenige nachvollziehbare Beispiele.
Ich möchte also meine vorhandene funktionsfähige Fassung des Exports meiner
DB-Daten (
paradox-daten als csv speichern von Specialwork übernommen) in eine von Excel einlesbare
CSV-Datei mit Hilfe von BatchMove realisieren.
Den Hinweisen MrSpock's folgend habe ich mir alle Ergebnisse von "Suche nach BatchMove" angesehen und damit angefangen:
Code:
procedure TFBrowser.ExportAlsExcelCSVDatei1Click(Sender: TObject);
var
i : byte;
begin
//Tab1 ist eine geöffnete *.DB-Datei und wird in einem DBGrid angezeigt
if not Tab1.Active then begin
ShowMessage('Welche Datei?');
exit;
end;
Tab2.DatabaseName := Tab1.DatabaseName;
Tab2.TableName := ChangeFileExt(Tab1.TableName, '.TXT'); //
CSV auch probiert
Tab2.TableType := ttASCII;
// Tab2 muss noch nicht existieren
BatchMove1.Source := Tab1;
BatchMove1.Destination := Tab2;
BatchMove1.Mode := batCopy;
BatchMove1.Execute;
end;
Das Ergebnis ist nicht befriedigend. Umlaute werden nicht korrekt gewandelt. Bei Ausgabe auf
CSV stehen alle
DB-Felder hintereinander durch Leerzeichen entsprechnd der Feldgröße getrennt in Spalte A. Bei Ausgabe auf TXT muß ich noch mühsehlig in Excel die korrekte Trennung der Spalten eingeben.
Diese Aussage der online-Hilfe:
"ttASCII Die Tabelle ist eine Comma-Delimited-Textdatei mit Strings in Anführungszeichen für jedes Feld."
kann ich bisher nicht bestätigen. Ich habe weder Kommata als Trennzeichen noch Anführungsstriche in der erzeugten *.TXT-Datei gefunden.
Kann jemand bei der Lösung der Probleme helfen?
mfg
eddy