Access .mdb => .txt

Access .mdb => .txt - Delphi/Pascal - Programmation

Marsh Posté le 07-10-2005 à 21:32:49    

Bonsoir,
 
Voila, je viens poster un petit message en espérant que quelqu'un pourra m'aider sur ce problème. J'aimerai dévellopper une petite application en delphi (je suis débutant) prennant un fichier .mdb et le transformant en fichier texte.
 
En gros convertir un fichier Access .mdb vers un .txt ou .cvs afin de pouvoir l'importer dans excel.
 
le fichier txt doit ressembler à ca
 
Table
Nom_champ1;Nom_champ2;
toto;paris;
 
Le problème est que j'arrive à récuperer les données contenue dans les champs mais je n'arrive pas à récuperer les noms des champs.. comment pourrai je faire ?
 
mettre le table en objet ? via des requetes SQL (ca m'étonnerai que je puisse récuperer le nom des champs.. :/)
 
Je lie la base de donnée avec ADO
 
Y a t'il quelqu'un qui développe un projet similaire ou qui à rencontré ce problème ?
 
merci :)

Reply

Marsh Posté le 07-10-2005 à 21:32:49   

Reply

Marsh Posté le 07-10-2005 à 23:58:22    

Il y a une propriété FieldName.
 
Cf la fonction SaveToCsv du soft "Access Viewer" que j'avais fait :
 

procedure TMainForm.SaveToCSV(const Name: TFileName; const Delim: string);
var
  f: Textfile;
  s: string;
  i: Integer;
begin
  AssignFile(f, Name);
  FileMode := fmOpenWrite;
  Rewrite(f);
  ADOQuery1.First;
  s := '';
  for i := 0 to ADOQuery1.FieldCount-1 do
  begin
    if s <> '' then
      s := s + Delim;
    s := s + ADOQuery1.Fields[i].FieldName;
  end;
  WriteLn(f, s);
  while not ADOQuery1.Eof do
  begin
    s := '';
    for i := 0 to ADOQuery1.FieldCount-1 do
    begin
      if s <> '' then
        s := s + Delim;
      s := s + StringReplace(ADOQuery1.Fields[i].AsString, sLineBreak, '|', [rfReplaceAll]);
    end;
    WriteLn(f, s);
    ADOQuery1.Next;
  end;
  CloseFile(f);
end;


Message édité par antp le 07-10-2005 à 23:59:09

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed