Bonjour,

Je cherche à créer une procédure autorisant un compactage d'une base de données Access 2003 tout les 30 jours.

L'idée est que l'utilisateur lance un logiciel, lequel affiche un menu, dont le contenu est spécifié dans un fichier ini. Si l'utilisateur clique sur le bouton "compactage", un formulaire est chargé. Enfin l'utilisateur clique sur le bouton "valider", lequel déclenche la fonction suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
Private Sub BtnValider_Click()
 
If MsgBox("Etes-vous certain de vouloir compacter la base données SuiviAtelier ?" & Chr(10) & "Personne ne doit utiliser le module SuiviAtelier durant cette opération", vbYesNo + vbExclamation, "Demande de confirmation") = vbYes Then
    date_prec = Format(Now, "dd/mm/yyyy")
    Open "L:\Preactor\Application_JDE\TraceCompactage.txt" For Append As #1
    Print #1, date_prec
    Close #1
 
    sNomBase = "J:\Copie_de_V100\SuiviAtelier_LB_TE.mdb"
    sNomBaseTmp = "J:\Copie_de_V100\SuiviAtelier_LB_TE_Tmp.mdb"
   DBEngine.CompactDatabase sNomBase, sNomBaseTmp 
    Kill sNomBase 
    Name sNomBaseTmp As sNomBase 
 
    MsgBox "SuiviAtelier a été compactée avec succès !", vbOKOnly + vbInformation, "Succès"
    Text1.Text = date_prec
    Text2.Text = DateAdd("d", 30, date_prec)
    BtnValider.Enabled = False
End If
End Sub
Le problème est qu'à l'exécution il m'est dit qu'un objet est requis.

Auriez-vous une idée de comment procéder ?

merci d'avance