Réparer une bdd access

Soulant Messages postés 28 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 21 octobre 2008 - 5 avril 2006 à 09:36
Soulant Messages postés 28 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 21 octobre 2008 - 5 avril 2006 à 17:58
Bonjour,
Je dois modifier un projet existant car il y a des soucis avec la base de données et de temps en temps il est nécessaire de la réparer.

Or d'après ce que j'ai vu d'après le modèle DAO 3.51 il existe une méthode repairdatabase mais le projet a été fait d'après le modèle DAO 3.6 et cette méthode n'existe pas. Donc est ce qu'il y a un autre moyen dans la 3.6 de réparer une base de données ou si je dois utiliser la 3.51? et dans ce cas est ce que le reste du projet va fonctionner?

Merci

4 réponses

cs_ketchoupi Messages postés 14 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 23 novembre 2008
5 avril 2006 à 12:46
salut,

Cela dépend du type de base que tu utilise mais pour une base en access 97 pas souci. Moi j'avais la même problèmatique avec un logiciel apibat en access 97 (980 Mo) qui cassai régulierement. Et j'ai fai un petit utilitaire qui marche tres bien. si cela t'interresse dis le moi.

Ketchoupi
0
Soulant Messages postés 28 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 21 octobre 2008
5 avril 2006 à 14:02
Salut,
Merci de ta réponse mais le code pour réparer la base de données, qui est au format access 97, je l'ai écrit et il marche. Mais le seul problème c'est que j'ai utiliser la DAO 3.51 pour réparer la base de données et je ne suis pas sûr qu'ensuite le projet existant fonctionne en 3.51 alors qu'il a été écrit avec la 3.6.

Et ce qui m'arrange ce serait d'intégrer le code "réparateur" au code existant que ce soit transparent pour l'utilisateur, qu'il est pas un outil à coté. Donc si tu peux me confirmer que le code fait avec la DAO 3.6 est compatible avec la DAO 3.51, alors je passe mon projet avec cette dernière. Sinon si ton code "réparateur" fonctionne avec la DAO 3.6 alors je suis preneur pour l'intégrer à mon application.

Merci encore.
0
cs_ketchoupi Messages postés 14 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 23 novembre 2008
5 avril 2006 à 14:24
re,

Je vien de tester mon appli en changeant la reference DAO 3.51 en 3.6 appriori pas de souci la reparation c bien passé. Mais si tu le souhaite tu peut m'envoyer ton projet pour que j'y jete un coup d'oeil.

'-------------------------------------------------------------
Dim pathmdb
Dim old
Dim today


Open "journal.dat" For Append As #1


pathmdb = CopyFile.Filepath.Text
old = App.path + "\old.mdb"


Label1.Caption = "..."
On Error Resume Next


Screen.MousePointer = vbHourglass
Label1.Caption = "Réparation en cours"


today = Now
Write #1, today, " ", "Début de la réparation de la base ", pathmdb


DoEvents


RepairDatabase (pathmdb)


today = Now
Write #1, today, " ", "Réparation de la base ", pathmdb, " terminée"
today = Now
Write #1, today, " ", "Début du compactage de la base ", pathmdb



If Len(Dir$(pathmdb)) > 0 Then Kill (old)
CompactDatabase (pathmdb), (old), dbLangGeneral
Kill pathmdb
FileCopy old, pathmdb
Screen.MousePointer = vbDefault


Label1.Caption = "Réparation et compactage terminé"


today = Now
Write #1, today, " ", "Compactage de la base ", pathmdb, " terminée"



Dim sauvegarde As String
sauvegarde = "[file://\\bibliotheque\Disque \\bibliotheque\Disque] dur\dossier apibat\batig" + today + ".mdb"


FileCopy pathmdb, sauvegarde


'-------------------------------------------------------------

Ketchoupi
0
Soulant Messages postés 28 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 21 octobre 2008
5 avril 2006 à 17:58
Merci.

J'ai pas l'application, j'ai envoyé mon code à une personne qu'elle le teste dans l'application pour voir ce que ca donne.

Je te tiens au courant.
0
Rejoignez-nous