Compactar Bases de Access
Publicado por Jose (2 intervenciones) el 13/06/2001 10:57:07
Hola a todos, necesito compactar una base de datos access desde Builder 5.0. ¿podeis echarme un cable?
Un saludo
Un saludo
Valora esta pregunta


0
#include <vcl.h>
#include <dbtables.hpp>
#include <dao.hpp>
void CompactAccessDatabase(const AnsiString& sourcePath, const AnsiString& destPath)
{
TDatabase *db = new TDatabase(NULL);
db->DatabaseName = "TempDB";
db->AliasName = "TempDB";
db->DriverName = "STANDARD";
db->Params->Add("DATABASE=" + sourcePath);
db->Params->Add("USER NAME=Admin");
db->Params->Add("PASSWORD=");
db->LoginPrompt = false;
db->Open();
TDAOTableDef *tableDef = new TDAOTableDef(NULL);
tableDef->DatabaseName = "TempDB";
tableDef->TableName = "TempTable";
tableDef->ConnectMode = cmExclusive;
tableDef->TableType = ttDBaseIV;
tableDef->Exclusive = true;
tableDef->Destination = destPath;
tableDef->Source = sourcePath;
tableDef->Options = "LANGID=0x0409;CP=1252;COUNTRY=0";
tableDef->Open();
tableDef->Close();
db->Close();
delete tableDef;
delete db;
}
AnsiString sourcePath = "C:\\ruta\\a\\tu\\base\\de\\datos.mdb";
AnsiString destPath = "C:\\ruta\\donde\\guardar\\base\\de\\datos_compactada.mdb";
CompactAccessDatabase(sourcePath, destPath);