Hola, tengo un problemilla, a ver si alguien me puede ayudar...
El caso es que tengo desarrollada una aplicación en Delphi que trabaja con una base de datos en access, esta base de datos tiene una clave (se que es un aprotección muy burda, pero es principalmente para que los clientes no la abran y la trasteen), mi problema es que tengo un apartado que se encarga de compactarla y repararla y cuando lo hace crea una copia optimizada de la versión en access que tiene la clave, con el inconveniente de que la deja sin clave y por tanto sin protección alguna...
La función que utilizo es la siguiente:
Código Delphi
[-]
Function TCompactarReparar.CompactarYReparar(RutaBD: String): Boolean;
Var
ObjetoOLE: OLEvariant;
begin
Result:=True;
try
ObjetoOLE:=CreateOLEObject('JRO.JetEngine');
try
ObjetoOLE.CompactDatabase('Provider=Microsoft.Jet.OLEDB.4.0;Jet '
+ 'OLEDB: Database Password=ISO9001;Data Source='+RutaBD,
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='
+RutaBD+'x;Jet OLEDB:Engine type=5');
DeleteFile(RutaBD);
RenameFile(RutaBD+'x',RutaBD)
finally
ObjetoOLE:=Unassigned
end;
except
Result:=False
end;
end;
En el último paso elimino el fichero original y renombro el fichero access "copia" por le nombre del original, en este proceso pierdo la clave de acceso, y me interesaria que esto no ocurriese...
Si alguien es tan amable de echarme un cable se lo agradecería eternamente.