Soulant
Messages postés28Date d'inscriptionmercredi 23 novembre 2005StatutMembreDernière intervention21 octobre 2008
-
5 avril 2006 à 09:36
Soulant
Messages postés28Date d'inscriptionmercredi 23 novembre 2005StatutMembreDernière intervention21 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?
cs_ketchoupi
Messages postés14Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention23 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.
Soulant
Messages postés28Date d'inscriptionmercredi 23 novembre 2005StatutMembreDernière intervention21 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.
cs_ketchoupi
Messages postés14Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention23 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"