Editando ficheros dBase (DBF) con Delphi
Debido a las mejoras de Microsoft Office (versión 2007), desaparece la parte de edición y guardado de las tablas en .dbf (DBase IV). Por eso, he creado una pequeña aplicación con delphi que permite realizar una series de consultas SQL y además permite editar la tabla en sí. De esta manera podemos seguir conservando nuestros ficheros DBase y con una aplicación sencilla realizar potentes consultas sobre la table mediante SQL. La aplicación utiliza los componentes típicos de conexión a la BD, y mediante ADO realizo la conexión sobre una carpeta para simular el ConnectionString hacia un ODBC con la ruta del los ficheros DBF. Luego tengo una pequeña grid enlazada al ClientDataSet que recoge los datos y los muestra. Aquí os dejo unas imágenes de la aplicación Thundax DBF Editor.
Aquí os dejo parte del código fuente para que veáis lo simple que es la aplicación:procedure TForm1.Button1Click(Sender: TObject); var strDBFolder, TextExecute: string; begin if Edit1.text = '' then exit; if listbox1.Count = 0 then exit; Screen.Cursor := crSQLWait; strDBFolder := Edit1.text; ADOConnection1.Close; ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + strDBFolder + ';Extended Properties=dBASE IV;User ID=' + Edit2.text + ';Password=' + Edit3.text + ';'; ADOConnection1.Open; if SelectedText = '' then TextExecute := SynEdit1.text else TextExecute := SelectedText; if TextExecute = '' then exit; if not AnsiContainsStr(AnsiUpperCase(TextExecute), 'SELECT') then ADOConnection1.Execute(TextExecute) else begin ADOQuery1.Close; ClientDataSet1.close; ADOQuery1.SQL.Text := TextExecute; ADOQuery1.Open; ClientDataSet1.open; end; ADOConnection1.Close; Screen.Cursor := crDefault; StatusBar1.SimpleText := 'Done.'; end; procedure TForm1.Button2Click(Sender: TObject); begin if clientdataset1.Delta <> null then if messagedlg('Save changes ? ', mtConfirmation, mbOKCancel, -1) = mrOK then clientdataset1.ApplyUpdates(0) else abort; end;
- Enlaces de interés:
Hay una gran cantidad de archivos en mi computadora. Pero ayer por la noche no eran demasiado archivos y programas relacionados con archivos de acceso. Por suerte para mí un amigo me llamó y por casualidad me contó - corrupted dbf. El software me devolvió acceder a los archivos dañados y lo hizo de forma gratuita como seguí mente. Me alegro de esta herramienta.
ReplyDeleteThank you Alex. Is good to know that the application is useful.
ReplyDeleteJordi tendras idea de como usar dbf's en lazarus??
ReplyDelete