Importer un fichier CSV dans une table Access
Bonjour à tous,
j'ai déja posé cette question dans un sujet résolu mais ...
pourriez-vous jeter un petit coup d'oeil à ce code qui me parait correct mais me retourne pourtant le message : "CSVFile.csv n'est pas un chemin valide. Assurez-vous que le nom du chemin d'accès est correct et qu'une connexion est établie avec le serveur sur lequel réside le fichier."
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| procedure TfrmMain.ImportDirectCVSToBase(PathFichierCSV, NomFichierCSV:TFileName);
const
Requete='INSERT INTO [%s] IN "%s" SELECT * FROM %s';
var
cstADOCsvConnexion:string;
begin
try
CreerSchemaIni(PathFichierCSV, NomFichierCSV,';');
cstADOCsvConnexion:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Extended Properties="text;HDR=YES;Format=Delimited"';
ADOcsv.ConnectionString :=Format(cntString,[NomFichierCSV]);
ADOcsv.Execute(Format(Requete,['Q_Zmir0678',
IncludeTrailingPathDelimiter(DBPath),
NomFichierCSV]));
except
on E:Exception do
begin
showmessage(E.Message);
end;
end;
end; |
La variable DBPath contient le chemin + le nom de la base de données.
La variable NomFichierCSV contient le nom du fichier CSV : à savoir "CSVFile.csv"
La variable PathFichierCSV contient le chemin du répertoire ou se trouve le fichier csv (sans le nom de fichier).
ADOcsv est un objet TADOConnection
voici la requête résultant du ADOcsv.Execute :
Code:
INSERT INTO [Q_Zmir0678] IN "D:\Applications\Borland\Delphi7\Projects\DRP BDC\DATA\DRP Prologs OUT 17_11_2006.mdb\" SELECT * FROM CSVFile.csv
Merci d'avance