Hallo, ich hab da mal ein paar Fragen....
Und zwar bin ich gerade dabei ein Prog zu schreiben was
CSV Dateien in eine leere MDB importiert.
Mein Problem ist das ich keine
CSV's importiert bekomme
Habe mal gegoogelt und folgendes
SQL-Statement für ASP mit
ADO gefunden:
SQL-Code:
strSQL = "INSERT INTO " & strTableName & " SELECT * FROM [" & strCSVFileName
strSQL = strSQL & "] IN """ & strCSVPath & """ ""TEXT;"""
also hab ich es für Delphi umgeschrieben:
Delphi-Quellcode:
ADOQuery1.SQL.Add('INSERT INTO TableTest SELECT * FROM [test.csv] IN "C:\test\" "TEXT;"');
aber es funktioniert nicht.
er schreibt folgende Fehlermeldung:
Oberator muss eine aktualisierbare Abfrage verwenden.
Ich versteh nur noch Bahnhof. Was ist falsch an dem
SQL Statement, weil eigentlich müsste er doch in der MDB dann eine neue Tabelle mit dem Namen TableTest anlegen und dort die Daten der test.csv die sich in C:\test\ befindet importieren oder nicht?
Gibt es eine andere Möglichkeit schnell
csv Dateien zu importieren?
Hier nochmal der ganze Code:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var table_vorhanden: boolean;
var i: integer;
begin
ADOConnection1.Connected := True;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('INSERT INTO TableTest SELECT * FROM [test.csv] IN "C:\test\" "TEXT;"');
ADOQuery1.Open;
end;
end.
Und hier mal der Connectionstring der ADOConnection1:
Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=C:\RTS-Auswertungstool\RTS-Auswertungstool.mdb;Mode=Read;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False
Hoffe ihr habt genug Infos mir zu helfen.
MFG
Andre
PS: Danke schonmal für die Hilfe