Creer fichier .mdb

Résolu
cs_kakol Messages postés 180 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 12 juin 2008 - 21 juil. 2005 à 17:38
cs_kakol Messages postés 180 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 12 juin 2008 - 21 juil. 2005 à 19:23
Bonjour a tous.
J'ai un combobox avec plusieurs items. J'aimerais pouvoir creer une base de donnees associee a l'item que je selectionne dans le combobox.
Je m'explique : quand je selectionne un item dans le combobox je voudais generer un nouveau fichier .mdb portant le meme nom que l'item selectionne (ex: si je selectionne map1 je voudrais creer map1.mdb), ce fichier n'existant pas auparavant.
Pouvez-vous m'aider svp? (ps : je suis encore novice en c#).
Merci d'avance.

*** Kakol ***

9 réponses

zebobo5 Messages postés 273 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 6 février 2009 1
21 juil. 2005 à 19:02
Fait :

public void createfile(string name)
{
try
{
//Création d'un fichier vide.
ADOX.CatalogClass cat = new ADOX.CatalogClass();
cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ name +".mdb;Jet OLEDB:Engine Type=5");
cat = null;
MessageBox.Show("fichier créé");
}
catch
{
MessageBox.Show("Erreur dans la creation de la base");
}

<HR>
ZeBobo5
3
cs_kakol Messages postés 180 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 12 juin 2008
21 juil. 2005 à 17:52
J'ai essaye ca :

result = comboBox1.Text;
try
{
//Création d'un fichier vide.
FileStream fs = File.Create(result+".mdb");
fs.Close();
Console.WriteLine("fichier créé");
}
catch
{
MessageBox.Show("Erreur dans la creation de la base");
}

Le fichier .mdb est bien cree avec le nom de l'item selectionne mais quand je l'ouvre avec Access j'ai une erreur : Unrecognize database format.
Que doit-je faire?

*** Kakol ***
0
zebobo5 Messages postés 273 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 6 février 2009 1
21 juil. 2005 à 18:00
Tt simple avec ADOX...
Fait une référence au COM : "Microsoft ADO Ext. 2.8 for DDL and Security" ou "Microsoft ADO Ext. 2.7 for DDL and Security"
et enfin :

ADOX.CatalogClass cat = new ADOX.CatalogClass();
cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=D:\\AccessDB\\NewMDB.mdb;" +"Jet OLEDB:Engine Type=5");
cat = null;


<HR>
ZeBobo5
0
cs_kakol Messages postés 180 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 12 juin 2008
21 juil. 2005 à 18:23
Salut Zebobo5 et merci de m'avoir repondu.
J'ai bien rajoute "Microsoft ADO Ext. 2.8 for DDL and Security" en reference au COM mais pourrais-tu m'expliquer ou je dois rajouter ton bout de code et ce que je dois mettre dans DataSource = ... parce que ca ne fonctionne toujours pas?
merci.

*** Kakol ***
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zebobo5 Messages postés 273 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 6 février 2009 1
21 juil. 2005 à 18:34
mon bout de code comme tu dis, tu le met au moment où tu ve créer ton fichier Access.
et pour le DataSource=
Apres le "=", soit tu met le nom de ton fichier sans guillemets, soit tu met l'adresse tjs sans guillemets.
Ainsi ton code sera du genre (si tu utilise un bouton pour valider la creation du fichier) :


private
void btnValider_Click(object sender, EventArgs e)
{
//Le fichier sera à la racine du lecteur C:
string strNomDuFichier = "C:\" + cmbCombBox.Text + ".mdb";

ADOX.CatalogClass cat = new ADOX. CatalogClass ();

cat.Create("Provider =Microsoft.Jet.OLEDB.4.0;Data Source=" + strNomDuFichier " + ";Jet OLEDB:Engine Type=5");
...
}

<HR>


ZeBobo5
0
cs_kakol Messages postés 180 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 12 juin 2008
21 juil. 2005 à 18:36
J'ai fait :
public void createfile(string name)
{
try
{
//Création d'un fichier vide.
FileStream fs = File.Create(name+".mdb");
ADOX.CatalogClass cat = new ADOX.CatalogClass();
cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source="+fs+".mdb" +"Jet OLEDB:Engine Type=5");
cat = null;
fs.Close();
MessageBox.Show("fichier créé");
}
catch
{
MessageBox.Show("Erreur dans la creation de la base");
}

J'ai bien le message "fichier cree" mais toujours l'erreur "Unrecognized database format" a l'ouverture du fichier

*** Kakol ***
0
cs_kakol Messages postés 180 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 12 juin 2008
21 juil. 2005 à 18:37
Pardon j'avais pas vu ta reponse je vais reessayer.
Merci

*** Kakol ***
0
cs_kakol Messages postés 180 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 12 juin 2008
21 juil. 2005 à 18:53
Non rien a faire sniff j'ai meme essaye en mettant le nom qu'aura la base apres le "=" mais je vois toujours pas ce qui ne va pas car j'ai toujours le meme message a l'ouverture de la base.
Que faire ?

*** Kakol ***
0
cs_kakol Messages postés 180 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 12 juin 2008
21 juil. 2005 à 19:23
Ok merci beaucoup ca marche tres bien. Mon probleme venait donc du fait que j'avais deja cree un fichier name+".mdb" alors qu'il doit etre cree avec ADOX.CatalogClass ... Je comprend mieux son utilite.
Encore merci pour ton aide.
Bonne continuation

*** Kakol ***
0