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:
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