Ver Mensaje Individual
  #1  
Antiguo 23-09-2010
pabloloustau pabloloustau is offline
Miembro
 
Registrado: dic 2009
Posts: 56
Reputación: 15
pabloloustau Va por buen camino
Cita:
Empezado por pabloloustau Ver Mensaje
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.
Responder Con Cita