• Viernes 8 de Noviembre de 2024, 20:44

Autor Tema:  Crear Archivo .dat  (Leído 4107 veces)

ioriyagami80

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Crear Archivo .dat
« en: Viernes 11 de Abril de 2008, 02:14 »
0
hola a todos, recurro a ustedes por que en una aplicacion que estoy haciendo con delphi 7 me han pedido que crees un archivo .DAT con informacion de la base de datos, la base que utilizo es access, esto ya se hacia de la siquiente manera, desde mi aplicacion exporta los datos a excel y ahi un usuario lo que hace es darle un tamaño a las columnas de escel ya que deben tener una cierta longitud y despues  con msdos lo copia y pega con extion .DAT, asi es como hasta ahora se esta realizando, pero ahora me piden que este proceso se haga de manera automatica desde la aplicacion para que con solo dar un clic se cree este archivo, ojala me puedan ayudar, utilo componentes ado, con un adoquery saco la informacion a excel con el siguiente condigo
VAR S:STRING;
begin
S:=INPUTBOX('NOMBRE DEL ARCHIVO','NOMBRE','');
SAVEDIALOG1.FileName:=S;
SAVEDIALOG1.Execute;
CurrentFolder :=SAVEDIALOG1.InitialDir;
SAVEDIALOG1.FileName:=S;
ADOQUERY1.Close;
ADOQUERY1.SQL.Clear;
ADOQUERY1.SQL.Add('SELECT GESTIONTELEFONICA.CUENTA, GESTIONTELEFONICA.CAUSA, FORMAT( GESTIONTELEFONICA.FECHAGESTION,"YYYYMMDD") AS FEHCAGEST, FORMAT(GESTIONTELEFONICA.HORAGESTION,"HHNNSS") AS HORAGESTION,');
ADOQUERY1.SQL.Add('IIF(PAGOS22.FECHA1<>0,(Format(PAGOS22.FECHA1,"yyyymmdd")),RIGHT("00000000"+"0",8)) AS FECHADEPROMESA , IIf(PAGOS22.PAGO1<>0,RIGHT("00000000000000"+FORMAT(PAGO1),14),RIGHT("000000000000000"+"0",14)) AS MONTOPAGO');
ADOQUERY1.SQL.Add(',CLIENTES.NOMARCH, GESTIONTELEFONICA.GESTION40, "E" AS TIPOGEST INTO GESTIONTELEFONICA IN "' + CurrentFolder + '''' +S+ '''.xls" "Excel 8.0;"');
ADOQUERY1.SQL.Add('FROM (CLIENTES INNER JOIN GESTIONTELEFONICA ON CLIENTES.CUENTA = GESTIONTELEFONICA.CUENTA) INNER JOIN PAGOS22 ON CLIENTES.CUENTA = PAGOS22.CUENTA');
ADOQUERY1.SQL.Add('WHERE GESTIONTELEFONICA.FECHAGESTION >= :J AND GESTIONTELEFONICA.FECHAGESTION <= :F');
ADOQUERY1.Parameters.ParamByName('J').Value:=STRTODATE(EDIT1.Text);
ADOQUERY1.Parameters.ParamByName('F').Value:=STRTODATE(EDIT2.Text);
ADOQUERY1.ExecSQL;
FORM19.CLOSE;
end;

OJALA ME PUEDAN AYUDAR