COMPACTER UNE BASE DE DONNÉE ACCESS

Signaler
Messages postés
5
Date d'inscription
lundi 27 septembre 2004
Statut
Membre
Dernière intervention
11 décembre 2010
-
Messages postés
33
Date d'inscription
dimanche 6 juillet 2003
Statut
Membre
Dernière intervention
12 septembre 2007
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/12288-compacter-une-base-de-donnee-access

Messages postés
33
Date d'inscription
dimanche 6 juillet 2003
Statut
Membre
Dernière intervention
12 septembre 2007

Coucou

Merci pour ton code sa m'as évité une aprem de recherche...

J'ai rencontrer des problemes en utilisant ton code a savoir : la fonction qui renvoie False a chaque fois alors que le compactage se fait...

j'ai relu ton code et j'ai changé la fin comme sa

try
JetEngine.CompactDatabase(tmpProvider + DB_PATH,tmpProvider + TEMP_DB_PATH);
DeleteFile(DB_PATH);
RenameFile(TEMP_DB_PATH,DB_PATH);
JetEngine.Free;
Result := True;
except
Result:= False;
exit;
end;

au lieu de

try
JetEngine.CompactDatabase(tmpProvider + DB_PATH,tmpProvider + TEMP_DB_PATH);
DeleteFile(DB_PATH);
RenameFile(TEMP_DB_PATH,DB_PATH);
except
begin
Result:= False;
exit;
end;
Result := True;
JetEngine.Free;
end;


sa me semble plus correct de le faire comme j'ai fait... enfin a vous de me dire...

je suis sous "Delphi 2007 Entrep Update 2" le dernier quoi
Messages postés
5
Date d'inscription
lundi 27 septembre 2004
Statut
Membre
Dernière intervention
11 décembre 2010

bonjurs

mon soucis avec ce code , il ne fonctionne pas parceque la base n est pas fermée
bien que j ai un ADOConnection1.Connected:=false

comment s assurer de cette fermeture merci