Creer fichier .mdb [Résolu]

Messages postés
180
Date d'inscription
mardi 21 décembre 2004
Dernière intervention
12 juin 2008
- - Dernière réponse : cs_kakol
Messages postés
180
Date d'inscription
mardi 21 décembre 2004
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 ***
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Messages postés
273
Date d'inscription
dimanche 5 octobre 2003
Dernière intervention
6 février 2009
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 96 internautes nous ont dit merci ce mois-ci

Commenter la réponse de zebobo5
Messages postés
180
Date d'inscription
mardi 21 décembre 2004
Dernière intervention
12 juin 2008
0
Merci
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 ***
Commenter la réponse de cs_kakol
Messages postés
273
Date d'inscription
dimanche 5 octobre 2003
Dernière intervention
6 février 2009
0
Merci
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
Commenter la réponse de zebobo5
Messages postés
180
Date d'inscription
mardi 21 décembre 2004
Dernière intervention
12 juin 2008
0
Merci
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 ***
Commenter la réponse de cs_kakol
Messages postés
273
Date d'inscription
dimanche 5 octobre 2003
Dernière intervention
6 février 2009
0
Merci
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
Commenter la réponse de zebobo5
Messages postés
180
Date d'inscription
mardi 21 décembre 2004
Dernière intervention
12 juin 2008
0
Merci
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 ***
Commenter la réponse de cs_kakol
Messages postés
180
Date d'inscription
mardi 21 décembre 2004
Dernière intervention
12 juin 2008
0
Merci
Pardon j'avais pas vu ta reponse je vais reessayer.
Merci

*** Kakol ***
Commenter la réponse de cs_kakol
Messages postés
180
Date d'inscription
mardi 21 décembre 2004
Dernière intervention
12 juin 2008
0
Merci
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 ***
Commenter la réponse de cs_kakol
Messages postés
180
Date d'inscription
mardi 21 décembre 2004
Dernière intervention
12 juin 2008
0
Merci
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 ***
Commenter la réponse de cs_kakol

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.