OVH Cloud OVH Cloud

Base corrompue

11 réponses
Avatar
Pierre Rivet
Bonjour à tous,

Avant de sauvegarder une base de données, par une instruction de type

FileCopy CHEMINBASE,SAUVEGARDE

j'aimerais savoir s'il y a un moyen de vérifier que la base de données (en
Access 2000) n'est pas corrompue.

Le risque est évidemment de recopier une base corrompue en une autre base
corrompue.

Merci à l'avance,

Pierre

1 réponse

1 2
Avatar
Patrick
Petit code pour "réparer" une base de donnée corompue, qui dit également si
la base n'est pas réparable

Public Sub RepairBase(NomBase As String)
Dim ErrLoop As Error
Dim Message As String

On Error GoTo Err_Repair
If Dir(ServeurPath & "BD" & NomBase & "1.mdb") <> "" Then Kill
ServeurPath & "BD" & NomBase & "1.mdb"
CopyFile ServeurPath, ServeurPath & "BD" & NomBase & ".mdb", NomBase &
"1.mdb"
DBEngine.RepairDatabase ServeurPath & "BD" & NomBase & "1.mdb"
On Error GoTo 0
If Dir(ServeurPath & "BD" & NomBase & ".bak") <> "" Then Kill
ServeurPath & "BD" & NomBase & ".bak"
Name ServeurPath & "BD" & NomBase & ".mdb" As ServeurPath & "BD" &
NomBase & ".bak"
Name ServeurPath & "BD" & NomBase & "1.mdb" As ServeurPath & "BD" &
NomBase & ".mdb"
Exit Sub

Err_Repair:
Message = "Messages pendant la Réparation"
For Each ErrLoop In DBEngine.Errors
Message = Message & vbCrLf & "Erreur " & ErrLoop.Number & " : " &
ErrLoop.Description
Next ErrLoop
MsgBox Message, vbOKOnly + vbExclamation, "La base n'as pas été réparée"
On Error GoTo 0
end sub


"Pierre Rivet" a écrit dans le message de news:
4a685597$0$23447$
Bonjour à tous,

Avant de sauvegarder une base de données, par une instruction de type

FileCopy CHEMINBASE,SAUVEGARDE

j'aimerais savoir s'il y a un moyen de vérifier que la base de données (en
Access 2000) n'est pas corrompue.

Le risque est évidemment de recopier une base corrompue en une autre base
corrompue.

Merci à l'avance,

Pierre




1 2