.DBF database file lazarus / 16-Databases ---------------------------------------------------------------------- Stoutall · 2017-10-18 20:08 Hello. The following error occurs when I attempt to open a .DBF database file: 'File does not exist'. I use Microsoft Access dBase driver for .DBF files. Any suggestions, friends... ---------------------------------------------------------------------- marcov · 2017-10-18 20:22 And which classes do you use in Lazarus to connect to Access? ---------------------------------------------------------------------- Handoko · 2017-10-19 03:19 Hello Stoutall, Welcome to the forum. You don't need to use MS. Access driver nor ODBC to connect dbf files. But you first need to make sure your Lazarus already has DBFLaz package installed properly: Lazarus main menu >  Package > Install/Uninstall Packages If you can see DBFLaz 0.1.1 on the left panel, then it means it's already installed. If it is on the right panel, you should double click on it and click "Save and rebuild IDE", wait some minutes then your IDE will be restarted. Here I wrote a simple demo to show how to connect dbf file and show its fields' names: Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i unit Unit1; {$mode objfpc}{$H+} interface uses  Classes, SysUtils, dbf, FileUtil, Forms, Controls, Graphics, Dialogs,  StdCtrls; type   { TForm1 }   TForm1 = class(TForm)    Button1: TButton;    Dbf1: TDbf;  OpenDialog1: TOpenDialog;    procedure Button1Click(Sender: TObject);  end; var  Form1: TForm1; implementation {$R *.lfm} { TForm1 } procedure TForm1.Button1Click(Sender: TObject);var  S: string;  i: Integer;begin  if not(OpenDialog1.Execute) then Exit;  S := 'Field Names:';  try    with Dbf1 do      begin        FilePathFull := ExtractFileDir(OpenDialog1.FileName);        TableName := ExtractFileName(OpenDialog1.FileName);        Open;        for i := 0 to (FieldDefs.Count-1) do          S := S + #13 + FieldDefs[i].Name;      Close;      end;  except    S := 'Error!'  end;  ShowMessage(S);end; end. You can download the DBFields.zip for testing.