Ver Mensaje Individual
  #4  
Antiguo 25-10-2004
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - Espańa
Posts: 18.281
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Se puede hacer compactando la Base de Datos y dando un nuevo password para el proceso.
Importa la librería "Microsoft Jet and Replication Objects 2.6 Library" desde delphi y utiliza el siguiente código:

Código Delphi [-]
uses JRO_TLB;
 
procedure TForm1.Button1Click(Sender: TObject);
var
 engine: IJetEngine;
 src, dst, path: WideString;
begin
 // Directio donde se encuentra
 path := 'c:\temp\';
 //src: Base de Datos existente con assword antiguo
 src := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + path + 'dbdemos.mdb' +
  ';Jet OLEDBatabase Password=ANTIGUO';
  //dst: Base de Datos nueva con password cambiado
 dst := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + path + 'dbDemosNew.mdb' +
  ';Jet OLEDBatabase Password=NUEVO';
 
  // Compactar y cambiar el password
 engine := CoJetEngine.Create();
 engine.CompactDatabase(src, dst);
end;

La Base de Datos se debe abrir en modo exclusivo. Ésto te debe generar una base de datos nueva con el nuevo password; Si deseas luego puedes borrar la antigua (DeleteFile) y renombrar la nueva (RenameFile).
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita