Home
Home

---Soumis par Dev Ashish---

Access 2000: La méthode DeleteObject ne fonctionne plus

Access 2000 a subit de sévères transformations à son modèle interne et, un des résultats, fait que contrairement aux versions précédentes, la base de données doit être ouverte en mode Exclusif avant de pouvoir y effectuer des modifications de design. Évidemment, effacer un objet du genre Formulaire, État, Macro ou Module, par Automation, est considéré comme une modification du design.

La méthode  OpenCurrentDatabase permet de spécifier ce mode d'exclusivité de par un argument optionnel. Vous pouvez ainsi modifier votre code comme suit, pour inclure ce dit argument:

'********* Code Start *********
Sub sDeleteOnA2K()
    Const DB_NAME = "D:\office2000\Office\Samples\Northwind.mdb"

    Dim objAcc As Access.Application

    Set objAcc = New Access.Application
    With objAcc
        .Visible = True
        .OpenCurrentDatabase DB_NAME, True
        .DoCmd.DeleteObject acModule, "Module1"
        .CloseCurrentDatabase
        .Quit
    End With
    Set objAcc = Nothing
End Sub
'********** Code End **********