arquivo texto via ADOtable
Tenho uma função que abre um arquivo de log em txt para exibir em um dbgrid e exportar para xls, mas preciso que todas as colunas da tabela sejam do tipo string e estão sendo criados como integer. Gostaria de saber se existe algum comando ou parâmetro para os componentes ADO ou biblioteca JET que me permita fixar o formato que eu quero que os campos sejam criados. Do jeito que está, os campos com valores alfanuméricos aparecem vazios. Tentei usar cast juto com select, mas deu erro, não sei se escrevi errado ou se o o JET não aceita cast.
procedure TxtToXls(ArqIn,ArqOut,Planilha,Diretorio:string; Concatena:boolean);
var
cs:string;
begin
cs:=´Provider=Microsoft.Jet.OLEDB.4.0;´+
´Data Source=´+Diretorio+´;Extended Properties=Text;´+
´Persist Security Info=False´;
with DM do begin
try
ChDir(Diretorio);
if not Concatena then
if FileExists(Diretorio+´\´+ArqOut+´.xls´) then DeleteFile(Diretorio+´\´+ArqOut+´.xls´);
ADOConnection.Connected:=false;
ADOConnection.ConnectionString:=cs;
ADOTable.Active:=false;
ADOTable.TableName:=´[´+ArqIn+´#txt]´;
ADOTable.ConnectionString:=cs;
ADOTable.Open;
ADOConnection.Execute(´SELECT * INTO ´+Planilha+´ IN ´´+Diretorio+´\´+ArqOut+´.xls´ ´Excel 8.0;´ FROM [´+ArqIn+´.txt]´);
except
end;
end;
end;
procedure TxtToXls(ArqIn,ArqOut,Planilha,Diretorio:string; Concatena:boolean);
var
cs:string;
begin
cs:=´Provider=Microsoft.Jet.OLEDB.4.0;´+
´Data Source=´+Diretorio+´;Extended Properties=Text;´+
´Persist Security Info=False´;
with DM do begin
try
ChDir(Diretorio);
if not Concatena then
if FileExists(Diretorio+´\´+ArqOut+´.xls´) then DeleteFile(Diretorio+´\´+ArqOut+´.xls´);
ADOConnection.Connected:=false;
ADOConnection.ConnectionString:=cs;
ADOTable.Active:=false;
ADOTable.TableName:=´[´+ArqIn+´#txt]´;
ADOTable.ConnectionString:=cs;
ADOTable.Open;
ADOConnection.Execute(´SELECT * INTO ´+Planilha+´ IN ´´+Diretorio+´\´+ArqOut+´.xls´ ´Excel 8.0;´ FROM [´+ArqIn+´.txt]´);
except
end;
end;
end;
Afmansur
Curtidas 0