Bonjour
comment je peut faire une sauvegarde et une restauration d'une base de donnees access a partir c++ builder.
merci d'avance pour votre aide
Version imprimable
Bonjour
comment je peut faire une sauvegarde et une restauration d'une base de donnees access a partir c++ builder.
merci d'avance pour votre aide
Salut,
faire une copie du fichier mdb ça ne suffirai pas ? :roll:
je veut a partir du logiciel le faite de cliqué sur un boutton ma BDD sera sauvegarder dans un repertoire et un autre boutton pour restaurer ma BDD depuis un repertoire.
merci d'avance
Salut,
dans la FAQ BCB, tu as tout un chapitre sur la gestion des fichiers et des répertoires, sachant qu'une base de données Access est un simple fichier .mdb, il te suffit copier ce fichier dans ton répertoire de sauvegarde ou de le remettre en place si tu veut le restaurer.
Bon courage ;)
Salut
tu peux également utiliser la bibliotèque JRO de MS pour la création de replicat de base de donnée
de plus ample informations sont disponibles ici
http://msdn.microsoft.com/library/techart/dbrepjet.htm
et ici pour des exemples en VB
http://msdn.microsoft.com/library/ps...o/jrex28mr.htm
cordialement
merci pottier pour le lien.
les deux liens pour utiliser la bibliotheque JRO de MS sont Inaccessible
Salut
Uniquement pour Info ce n'est pas Pottiez mais DJMSoftwareCitation:
merci pottier pour le lien.
les deux liens pour utiliser la bibliotheque JRO de MS sont Inaccessible
un autre lien valide ici
http://www.microsoft.com/downloads/d...displaylang=fr
cdlt
Bonjour
j'ai trouver dans le forum le code qui ma permet de copié ma base de donnée
j'ai voulu donner a l'utilisateur le droit de changer le repertoire de sauvgarde pour cela j'ai utliser un edit:Code:
1
2
3
4
5
6
7 SHFILEOPSTRUCT FileOpStr; ZeroMemory(&FileOpStr, sizeof(FileOpStr)); FileOpStr.hwnd = Application->Handle; FileOpStr.wFunc = FO_COPY; FileOpStr.pFrom = "C:\\ofEPF2009\\Dossier\\Produits.mdb\0"; FileOpStr.pTo = "F:\\\0"; SHFileOperation(&FileOpStr);
j'ai une erreur au niveau de la ligne rouge (impossible de convertir AnsiString en const char)Code:
1
2
3
4
5
6
7 SHFILEOPSTRUCT FileOpStr; ZeroMemory(&FileOpStr, sizeof(FileOpStr)); FileOpStr.hwnd = Application->Handle; FileOpStr.wFunc = FO_COPY; FileOpStr.pFrom = "C:\\ofEPF2009\\Dossier\\Produits.mdb\0"; FileOpStr.pTo = Form2->Edit1->Text; SHFileOperation(&FileOpStr);
comment je peut regler ce probleme?
merci d'avance
Salut,
il faut que tu utilise un char* :
Code:
1
2
3
4
5
6
7
8
9
10 char* buffer = new char[Form2->Edit1->Text.Length()+1]; *buffer = *(Form2->Edit1->Text.c_str()); SHFILEOPSTRUCT FileOpStr; ZeroMemory(&FileOpStr, sizeof(FileOpStr)); FileOpStr.hwnd = Application->Handle; FileOpStr.wFunc = FO_COPY; FileOpStr.pFrom = "C:\\ofEPF2009\\Dossier\\Produits.mdb\0"; FileOpStr.pTo = buffer; SHFileOperation(&FileOpStr);
salut
merci pottier pour votre aide, il ya un probleme dans ce code, il copie le fichier Produits.mdb avec une autre extension sur un autre nom (il ne s'ouvre meme pas)
merci d'avance
Salut faniette
Je ne sais plus a partir de quelle version mais restaure a ete abandonne pour les bases Access, cette restauration se fait par compactage, voir la FAQ
salut
j'ai toujour le probleme pour sauvegarder la BDD pour cela j'ai utilisé une aurtre procedure
j'ai creer trois boutton
1)pour definir le chemin ou se trouve la BDD j'ai utilisée ce code
2)pour definir le chemin ou je sauvegarde la BDDCode:
1
2
3
4 if (OpenDialog1->Execute()) { Edit1->Text = OpenDialog1->FileName; }
3)Code:
1
2
3 AnsiString PathSRC; SelectDirectory("Choisir le repertoire source.","C:",PathSRC); Edit2->Text = PathSRC;
avec ce code j'ai pas d'erreur mais la BDD ne se copi pas.Code:
1
2
3
4 AnsiString P1,p2; p1=Edit1->Text; p2=Edit2->Text; CopyFile(p1.c_str(), p2.c_str(),true)
merci d'avance
Bonjour,
vraiment je souffre:cry: a cause de ce problème de sauvegarder et restaurer de la BDD. qui ma étonné c'est que le code des fois il fonctionne parfaitement mais des fois il s'affiche Erreur lors de la copie du fichier ou du dossier"Impossible de copier Fichier:Impossible de lire à partir du fichier ou de la disquette source".
pour sauvegarder
pour RestaurerCode:
1
2
3
4
5
6
7
8
9
10
11 Screen->Cursor = crHourGlass; //affiche le curseur par defaut SHFILEOPSTRUCT FileOpStr; ZeroMemory(&FileOpStr, sizeof(FileOpStr)); FileOpStr.hwnd = Application->Handle; FileOpStr.wFunc = FO_COPY; AnsiString chaine1=Form16->Edit2->Text ; FileOpStr.pFrom =chaine1.c_str(); AnsiString chaine2=Sauvegarder->Edit2->Text; FileOpStr.pTo =chaine2.c_str() ; SHFileOperation(&FileOpStr); Screen->Cursor = crDefault; //affiche le curseur par defaut
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 Screen->Cursor = crHourGlass; //affiche le curseur par defaut SHFILEOPSTRUCT FileOpStr; ZeroMemory(&FileOpStr, sizeof(FileOpStr)); FileOpStr.hwnd = Application->Handle; FileOpStr.wFunc = FO_COPY; AnsiString chaine1=Restaurer->Edit1->Text ; FileOpStr.pFrom =chaine1.c_str(); AnsiString chaine2= "C:\\SSC\\Dossiers" ; FileOpStr.pTo = chaine2.c_str(); SHFileOperation(&FileOpStr); Screen->Cursor = crDefault; // affiche le curseur par defaut
je serai reconnaissante a qui peut m'aider a retrouver la cause du probleme