Re: Comptacter base access sous windev ?

Posté par drcharly93 le 5/12/2007 12:24:40
Bonjour,

petite astuce pour compacter une base Access depuis la version 2000.
Il faut passer par le serveur OLE "Microsoft Jet and Replication Objects 2.X Library"

sBase est une chaîne
sBaseTemp est une chaîne

JRO est un objet Automation  "JRO.JetEngine"

sBase = "C:\Mes documents\Base.MDB" 
sBaseTemp = "C:\Mes documents\BaseTmp.MDB" 

//Supprimer la base temporaire éventuellement existante
SI fFichierExiste( sBaseTemp ) = Vrai  THEN
	fSupprime( sBaseTemp, frLectureSeule )
FIN

//Compacter/réparer la base originale dans une base temporaire
JRO>>CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sBase, "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sBaseTemp + ";Jet OLEDB:Engine Type=5")

//Supprimer la base originale
fSupprime( sBase )

//Renommer la base temporaire avec le nom de la base originale
fRenomme( sBaseTemp, sBase )

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=18&topic_id=5562&post_id=22817