Bonjour à tous

j'essaye de créer une base de données Acess avec ADO mais je rencontre un petit problème

Je m'inspire de ceci mais cela ne fonctionne pas
http://www.developpez.net/forums/d79...onnees-access/

La création de la base vide se passe bien par contre j'ai une erreur dès que j'essaye de créer une table

Voici mon code

Création de la base
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
	// Chemin du fichier de Base de données
	BaseDonnees = ExtractFilePath(Application->ExeName) + "\\db.mdb";
 
	// Provider
	Provider = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + BaseDonnees +";";
 
	// Si le ficbier de base de données n'existe pas
	if(!FileExists(BaseDonnees.t_str()))
	{
		Variant vADO;
 
		// On crée la base de données
		vADO = Variant::CreateObject("ADOX.Catalog");
		vADO.OleFunction("create", Provider.t_str());
 
		// Création des tables et remplissage des pré-requis
		CreationTables();
 
		// on termine
		vADO = Unassigned;
	}
	else
	{
		ShowMessage("La base de données existe déjà");
	}
Fonction de création des tables
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
// Méthode chargée de créer les tables
void __fastcall TForm1::CreationTables(void)
{
	// Connexion
	ADOConnection->ConnectionString = Provider;
	ADOConnection->LoginPrompt = false;
	ADOCommand->Connection = ADOConnection;
 
	// On crée la table patient
	String Requete;
 
	// On construit la requête de création de la table Patient
	Requete = "CREATE TABLE `Patient` (";
	Requete += "`idPatient` INT NOT NULL AUTO_INCREMENT , ";
	Requete += "`NomPatient` VARCHAR(45), ";
	Requete += "`PrenomPatient` VARCHAR(45), ";
	Requete += "`SexePatient`VARCHAR(1), ";
	Requete += "`AgePatient`INT, ";
	Requete += "`TaillePatient` DOUBLE, ";
	Requete += "PRIMARY KEY (`idPatient`))";
 
	// On crée la table
	ADOCommand->CommandText = Requete;
	ADOCommand->Execute();
}
Quand j'exécute mon code, j'ai l'erreur suivante

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Exception déclenchée à $7C812AFB. Classe d'exception EOleException avec message '[Microsoft][Gestionnaire de pilotes ODBC] Nom de source de données trop long'. Processus Project1.exe (3104)
Merci d'avance pour votre aide