Bonjour,

j'ai un ptit souci pour me connecter à ma base access...

Voilà ce que j'avais fait et ça marchait bien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
CDataSource connection;
HRESULT hr;
 
hr = connection.OpenFromInitializationString(L"Provider=Microsoft.Jet.OLEDB.4.0;UserID=Admin;Data Source=D:\\MonDossier\\maDataBase.mdb;Mode=Share DenyNone;...");
mais comme le chemin de la base est en dur, c'est pas terrible terrible...
Donc, j'suis allée récupérer le chemin en base de registre mais j'arrive pas à reconstituer la chaîne d'initialisation... enfin, ça veut pas marcher...
voilà ce que j'ai fait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
CDataSource connection;
HRESULT hr;
char cheminBase[255];
char chaineInit[5000];
 
// récup cheminBase en base de registre...
 
StringCbCopy(chaineInit, 5000, "Provider=Microsoft.Jet.OLEDB.4.0;UserID=Admin;Data Source=");
StringCbCat(chaineInit, 5000, cheminBase);
StringCbCat(chaineInit, 5000, ";Mode=Share DenyNone;...");
 
hr = connection.OpenFromInitializationString(LPCOLESTR(chaineInit));
et donc, ça marche pas...
ça compile, mais à l'exécution, j'ai hr=-2147217805 (enfin, un truc pas bon, quoi, <>0)...

auriez-vous des idées?

Merci