Bonjour,
Comment peux-t-on créer un fichier de base de données access mdb ?
J'utilise les systèmes de gestion de base de données ADO.
Merci.
Bonjour,
Comment peux-t-on créer un fichier de base de données access mdb ?
J'utilise les systèmes de gestion de base de données ADO.
Merci.
il me semble que l'on ne peut pas créer un fichier access directement.
a confirmer.
![]()
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
On ne peux pas créer un fichier access à l'intérieur d'une application MFC ??Envoyé par farscape
Mais si qu'on sait créer un fichier access en MFC, notre programme le fait (faut que je vérifie le code) mais on utilise pas l'ADO...
Bon, quand on parle trop vite, on dit des betises...![]()
Notre programme, crée de db access sur base d'autres dbs modèles, ce qui revient à une simple copie/modif du contenu...
Mais ca doit etre possible...
Ah... et si tu me donnes juste le code de la création du fichier access et que je le copie dans mon programme, après je peux continuer à manipuler ce fichier avec ADO ?Envoyé par GP77
et bien sinon, je ne sais pas si dans ton cas, ca serait ce qu'il te faudrait, mais tu peux créer une base ACCESS (juste la structure des tables et jointures) et ensuite, faire un copier coller dans ton prog avec un nouveau nom et travailler sur cette base pour la remplir par exemple![]()
+1 , j'avais utilisé oledb pour attaquer access et la creation d'un fichier ne fonctionnait pas, j'ai donc utilisé une base pré crée au depart...Envoyé par lenouvo
de toute façon le probleme n'a rien à voir avec les MFC .
![]()
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
Bof, c'est pas vraiment ce que je voudrais : je m'explique.Envoyé par lenouvo
Pour faire simple, mon application MFC possèderait un menu
Fichier => créer une base (on choisit un nom pour la base toto1.mdb)
et donc ça crée une base
et après on peut refaire fichier => créer une base
et ça recrée une autre base avec un autre nom toto2.mdb
et ainsi de suite.
Oui, exact, j'ai essayé avec CopyFile() et ta méthode marche mais j'ai un nouveau problème :
en fait, j'ouvre un fichier (Fichier=> ouvrir) et ensuite une base est créée : je copie donc la base (que j'ai créée précédemment) comme tu me l'as suggéré.
Le problème c'est que j'aimerais que le programme copie une base "modele.mdb" qui se trouve dans le répertoire de mon application et quand je fais CopyFile("modele.mdb","toto1.mdb", FALSE); Il essaye de trouve le fichier modele.mdb dans le répertoire ou j'ai ouvert mon fichier et pas dans le répertoire de l'application.
Y a-t-il un moyen de récupérer le répertoire de l'application ?
par exemple si mon application est dans C:\monappli, je ferai
rep=GetDirectory();
// rep serait égal à C:\monappli\
et après je ferai
rep=rep+"modele.mdb"
CopyFile(rep,"toto1.mdb", FALSE);
méthode GetModuleFileName pour avoir le path de ton application.
http://c.developpez.com/faq/vc/?page...pp#PathExeFile
Merci les gars, ça marche nickel : pour l'instant j'ai testé en copiant des fichiers texte mais ça devrait marcher avec des fichiers access ... Je considère donc mon problème comme résolu.Envoyé par lenouvo
Par contre, j'ai trouvé une méthode, à mon goût, plus élégante que GetModuleFileName pour retrouver le chemin de l'application : __FILE__ est une chaîne de caractère contenant directement le chemin de l'application. Pour le vérifier, il suffit d'exécuter la commande AfxMessageBox(__FILE__); qui affiche le chemin complet (reste juste à enlever le nom de fichier à la fin).
attention par contre à ta méthode si tu dois faire une install pour un déploiement , le chemin de l'application peut alors changé, et ta méthode ne fonctionnera plusalors qu'avec GetModuleFileName si.
Oui, exact tu as raison, je vais donc rester sur
GetModuleFileName(NULL,chemin,32);
Par contre, chemin ne peut apparemment pas être de type CString et quand j'exécute le prog, tout se passe bien, mais quand je ferme la fenêtre d'exécution j'ai une erreur d'adressage mémoire. Est-ce que mes déclarations sont bonnes ?
CString Cchemin;
char* chemin;
GetModuleFileName(NULL,chemin,32);
Cchemin=chemin;
Cchemin=Cchemin.Mid(0,Cchemin.ReverseFind('\\'));
AfxMessageBox(Cchemin);
Partager