COMPACTER UNE BASE DE DONNÉE ACCESS

philippe mercier Messages postés 5 Date d'inscription lundi 27 septembre 2004 Statut Membre Dernière intervention 11 décembre 2010 - 18 déc. 2006 à 08:18
cs_intik Messages postés 33 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 12 septembre 2007 - 27 nov. 2007 à 16:38
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

cs_intik Messages postés 33 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 12 septembre 2007
27 nov. 2007 à 16:38
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
philippe mercier Messages postés 5 Date d'inscription lundi 27 septembre 2004 Statut Membre Dernière intervention 11 décembre 2010
18 déc. 2006 à 08:18
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
Rejoignez-nous