![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#2
|
|||
|
|||
|
Crear tabla .dbf desde Delphi
No se muy bien lo de los indices a que te refieres pero te voy a mostrar un codigo donde se puede realizar eso que quieres:
procedure TFormFicheroCadeca.ButtonCrearClick(Sender: TObject); var Ok: Boolean; begin with DataModule1 do begin if FileExists('Cadeca.dbf') then DeleteFile('Cadeca.dbf'); Cadeca.Active:= FALSE; Cadeca.DatabaseName:= 'dBase Files'; Cadeca.TableType:= ttDBase; Cadeca.TableName:= 'Cadeca'; with Cadeca.FieldDefs do begin Clear; Add('COD_UNIDAD', ftString, 4, FALSE); Add('CAJA', ftString, 2, FALSE); Add('NBOLSA', ftString, 8, FALSE); Add('IMPORTE', ftFloat, 0, FALSE); Add('DIFERENCIA', ftFloat, 0, FALSE); Add('MONEDA', ftString, 3, FALSE); Add('FECHA_DEP', ftTime, 0, FALSE); Add('FECHA_CON', ftTime, 0, FALSE); Add('OBS', ftString, 200, FALSE); end; Cadeca.CreateTable; Cadeca.Open; FicheroCadeca1.First; while not FicheroCadeca1.Eof do begin Cadeca.Insert; CadecaCOD_UNIDAD.Value:= FicheroCadeca1cadeca.Value; if FicheroCadeca1caja.Value < 10 then CadecaCAJA.Value:= '0' + IntToStr(FicheroCadeca1caja.Value) else CadecaCAJA.Value:= IntToStr(FicheroCadeca1caja.Value); CadecaNBOLSA.Value:= FicheroCadeca1numero.Value; CadecaIMPORTE.Value:= FicheroCadeca1Importe.Value; CadecaDIFERENCIA.Value:= FicheroCadeca1Diferencia.Value; CadecaMONEDA.Value:= FicheroCadeca1moneda.Value; ConvertirFecha(DateToStr(FicheroCadeca1Fecha1.Value), fecha1); ConvertirFecha(DateToStr(FicheroCadeca1fecha2.Value), fecha2); CadecaFECHA_DEP.Value:= FicheroCadeca1Fecha1.Value - 1; if IArea = 2 then CadecaFECHA_CON.Value:= Date + 1 else CadecaFECHA_CON.Value:= Date + 1; Cadeca.Post; FicheroCadeca1.Next; end; Cadeca.Close; end; NombreFichero; if IArea = 2 then fichero:= DataModule1.ConfiguracionCodigo.Value + 'cd' + dia + mes + '.dbf' else fichero:= DataModule1.ConfiguracionCodigo.Value + 'sd' + dia + mes + '.dbf'; Ok2:= True; if FileExists(fichero) then DeleteFile(fichero); Ok:= CopyFileTo('Cadeca.dbf', Fichero); DataModule1.LogSystem(IdPersonal, 15); ShowMessage(' El fichero de Cadeca: ' + fichero + ' fue creado satisfactoriamente'); end; En este procedimiento se crea desde cero la Tabla dbf y posteriormente se actualiza con los datos que estan en el procedimiento almacenado FicheroCadeca1. Debes en el uses añadir las Unit bde, DBTables. Esperando que te sirva. Saludos Luis Garcia |
|
|
|