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.
je vois pas ou est le probl�me
Fichier => cr�er une base (on choisit un nom pour la base) :
avec CopyFile tu copie ton mod�le de base et tu choisis le nouveau nom ( chemin compris ou non), par ex toto1.mdb
comme �a, tu aura bien toujours ton mod�le et ta nouvelle base avec le nom choisi.
et c'est compl�tement transparent pour l'utilisateur
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);
je suis b�te, je viens de me rendre compte de mon erreur :
c'est pas
char* chemin;
mais
char chemin[32];
oui et aussi pr�vois peut-�tre un peu plus long que 32 en taille de chemin, du genre 256 pour �viter tout probl�me![]()
En utilisant le catalog ADO il est possible de cr�eer une base Access Vide et ensuite au besoin d'y ajouter des tables par programmation, sans copier de fichier mdb depuis une source, ou une ressource...
C'est avec la dll "msadox.dll".
Il y as un bon exemple sur codeguru :
http://www.codeguru.com/cpp/data/mfc...cle.php/c4315/
lorsque j'inclue la ligne suivante dans stdAfx.h
#import "C:\Program Files\Fichiers communs\System\ado\msadox.dll"
j'ai l'erreur suivante :
windows.h already included (au niveau du fichier afxv_w32.h)
Moi je l'ajoute pas dans stdafx.h mais dans le .h de ma classe qui fait les requ�tes ADO.
Essaye de la mettre ailleurs.
Partager