Compactage d'une base access 97

dav999 Messages postés 27 Date d'inscription vendredi 27 septembre 2002 Statut Membre Dernière intervention 5 septembre 2005 - 22 oct. 2002 à 13:07
dav999 Messages postés 27 Date d'inscription vendredi 27 septembre 2002 Statut Membre Dernière intervention 5 septembre 2005 - 22 oct. 2002 à 16:35
salut

je cherche des infos sur le compactage d'une base access, j'ai trouve un truc sur le net mais y a un pb

on me dis d'importer msjro.dll dans delphi (6 pro), mais je n'y arrive pas, pour regle le pb il est note qu'il faut se mettre a la version 6.2 de delphi, ce que j'ai fais en mettant le updatepack 2, mais apres avoir redemarrer ca ne fonctionne tjrs pas !

je n'arrive pas a avoir ce foutu fichier dans la liste des composnat activex de delphi

et une autre question au sujet de ibserver est ce que je peux l'installer sans pb sur un pc sous win 95 osr2

merci
david

2 réponses

dav999 Messages postés 27 Date d'inscription vendredi 27 septembre 2002 Statut Membre Dernière intervention 5 septembre 2005
22 oct. 2002 à 14:08
je viens de trouver pour ceux que ca interesse

Var
Dao, DB1, DB2: Variant;
Begin
Try
//Dao := CreateOLEObject('DAO.DBEngine.36');
//va aussi mais il faut installer le dao3.6

Dao := CreateOLEObject('DAO.DBEngine.35');
DB1 := 'essai.mdb';
DB2 := 'Compact.mdb';
Dao.CompactDatabase(DB1,DB2);
Finally
Dao := unassigned;
End;

// Now delete the old table and rename the compacted table with the old name.
DeleteFile(DB1);
RenameFile(DB2,DB1);

ne pas oublier d'installer le ComObj ds les uses

bye
david
0
dav999 Messages postés 27 Date d'inscription vendredi 27 septembre 2002 Statut Membre Dernière intervention 5 septembre 2005
22 oct. 2002 à 16:35
attention le message au dessus il faut avoir installe access 97 pour faire fonctionner

ici c'ets une nouvelle version trouvee qui fonctionne sans access, il suffit d"'avoir les pilotes jet 4 d'installes et ca roule

voila le code :

const bak_ext = '.$$$';
stAccessDB ='Provider=Microsoft.Jet.OLEDB.4.0;'+ 'Data Source=%s' + ';Jet OLEDB:Engine Type=4';

///'Provider=Microsoft.Jet.OLEDB.4.0' +
// ';Data Source=YourDatabase' +
// ';Jet OLEDB:Database Password=YourPassword' +
// ';Jet OLEDB:Engine Type=4';

var
JetEngine : Variant;
TempName : string;
aAccess: string;

begin

aaccess := 'essai.mdb';

TempName := ChangeFileExt(aAccess, bak_ext);

DeleteFile(TempName);

JetEngine := CreateOleObject('JRO.JetEngine');
try
JetEngine.CompactDatabase( Format(stAccessDB, [aAccess]), Format(stAccessDB,
[TempName]));
DeleteFile(aAccess);
RenameFile(TempName, aAccess);
finally

JetEngine := Unassigned;
end;
//end;

merci
david
0
Rejoignez-nous