Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

Vous n'avez pas encore de compte Developpez.com ? L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Developpez.com

C++

Choisissez la catégorie, puis la rubrique :

logo
Sommaire > Bases de données > ACCESS
        Comment créer un base de données Access ?
        Comment ouvrir une base de données Access vide sous OleADO sans Access ?
        Comment compacter une base de données OleADO ?



Comment créer un base de données Access ?
Créé le 10/12/2007[haut]
auteurs : virtuA, pottiez

Pour cela, récupérer la odbccp32.dll (32bits), utiliser un petit IMPLIB pour faire le odbccp32.lib, et lier tout ça au projet:

BOOL fCreated;

fCreated = SQLConfigDataSource(NULL,
                        ODBC_ADD_DSN,
                       "Microsoft Access Driver (*.mdb)",
   "CREATE_DB=C:\\Test.mdb General\0" );

Comment ouvrir une base de données Access vide sous OleADO sans Access ?
Créé le 10/12/2007[haut]
auteurs : blondelle, virtuA, NoisetteProd


    // ne pas oublier d'inclure #include <comobj.hpp>
 
    Variant vADO;
    AnsiString Filename = "C:\\Documents and Settings\\blondelle\\Mes documents\\MySQL\\maBdd2.mdb";
    AnsiString provider = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +Filename+";";

    if (FileExists(Filename.c_str()))
{
MessageBox(Handle,"Ce fichier existe déja!" ,"ATTENTION",MB_OK|MB_ICONWARNING ) ;
vADO = Unassigned;
return;
}

    vADO = Variant::CreateObject("ADOX.Catalog");
    vADO.OleFunction("create", provider.c_str());
 
    // on termine
    vADO = Unassigned;

Comment compacter une base de données OleADO ?
Créé le 10/12/2007[haut]
auteurs : blondelle, Fbartolo, NoisetteProd

Cette procédure permet de compresser une base de données Access sans que Access soit installé sur le poste, donc directement avec "JRO.JetEngine".

// ne pas oublier d'inclure #include <comobj.hpp>
 
void  CompactDatabase(AnsiString Base1, AnsiString psw1, AnsiString Base2, AnsiString psw2)
{
 
      AnsiString  Provider1=    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Base1 + ";Password =" + psw1;
      AnsiString  Provider2=    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Base2 + ";Password =" + psw2;
 
      Variant  v=Variant::CreateObject("JRO.JetEngine");
      v.OleFunction("CompactDatabase",  Provider1.c_str(), Provider2.c_str());
 
      v = Unassigned;
}
void __fastcall TForm1::Button4Click(TObject *Sender)
{
        AnsiString  Base1="C:\\Documents and Settings\\Fernand Bartolo\\Dev\\Testxxxxxx\\Iris.mdb";
        AnsiString  psw1="";
 
        AnsiString  Base2="C:\\Documents and Settings\\Fernand Bartolo\\Dev\\Testxxxxxx\\Test.mdb";
        AnsiString  psw2="";
 
 
        if  (FileExists(Base2))
                DeleteFile(Base2);
        CompactDatabase(Base1,psw1,Base2,psw2);
        ShowMessage("OK!!");
}


Consultez les autres F.A.Q.


Valid XHTML 1.0 TransitionalValid CSS!

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2009 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Contacter le responsable de la rubrique C++

Partenaire : Hébergement Web