以软件网开发平台举例:
1、在启动设置中取消启动窗体,即将启动窗体设为“(无)”
2、在模块中创建一个用于更新引用的函数,代码如下:
Public Function Main()
On Error GoTo ErrorHandler
Dim ref As Reference
DoCmd.Hourglass True
For Each ref In References
If ref.IsBroken or ref.FullPath Like "*\Acchelp.umv" Then References.Remove ref
Next
References.AddFromFile CurrentProject.Path & "\Acchelp.umv"
DoCmd.OpenForm "usysfrmLogin"
ExitProgram:
DoCmd.Hourglass False
Exit Function
ErrorHandler:
If Err = 29060 Then
MsgBox "在当前目录中找不到代码库文件'Acchelp.umv',系统无法运行,点确定后退出。", vbCritical
Application.Quit acQuitSaveNone
Else
MsgBox "#" & Err & vbCrLf & Err.Description, vbCritical
End If
Resume ExitProgram
End Function
|
3、创建一个宏,操作为 RunCode,参数为 Main() ,保存并命名为 AutoExec
说明:这里之所以取消了启动窗体,是因为一但出现引用丢失,窗体根本就不能打开,所以不能在启动窗体的打开或加载事件中去调用处理函数,只能通过自动运行宏AutoExec来调用。我的建议是引用之后写代码,完成之后把引用去掉,然后将代码改为后期绑定。这样就不需要引用,避免因引用的类库文件的放置目录不同及版本不一致造成的引用错误而无法使用。
注意!经测试此方法仅用于mdb、accdb文件,如果编译成mde、accde文件之后,代码完全不可更改,引用也是被固化的,无法使用Remove方法删除引用。