Cita:
Empezado por pabloloustau
aca les dejo una forma funcional probada de coneccion en tiempo de ejecucion a base de datos access con ADO.
utilizo un opendialog para buscar la base de datos, recuerden poner en su propiedad filter (Microsoft access|*.mdb).
tambien utiliza un archivo ini para cargar la ultima base de datos con la que trabajamos.
Código:
procedure TForm1.Button2Click(Sender: TObject);
begin
if opendialog1.Execute then
adoquery1.Active:= false;
adoconnection1.Connected:= false;
ADOconnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
opendialog1.filename+';Persist Security Info=False';
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var path: string;
begin
path := ExtractFilePath(Application.ExeName) + 'Datos.ini';
dirini := TIniFile.Create(path);
try
dirini.WriteString('Opendialog1','Last',opendialog1.FileName) ;
finally
dirini.Free;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
path: String;
begin
path := ExtractFilePath(Application.ExeName) + 'Datos.ini';
dirini := TIniFile.Create(path);
try
opendialog1.FileName:= dirini.ReadString('Opendialog1','Last','');
ADOconnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
opendialog1.FileName+';Persist Security Info=False';
finally
dirini.Free;
end;
end;
|
recuerden poner en user (inifiles) y en var (dirini: tinifile
.