创建让用户“重新引用dao”按钮-ligy118
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


创建让用户“重新引用dao”按钮

发表时间:2021/12/4 16:58:13 评论(0) 浏览(1861)  评论 | 加入收藏 | 复制
   
摘 要:创建“重新引用dao”按钮,在dao引用失效时让用户手动一键重新引用dao。
正 文:

      盟威Access快速开发平台的版本更新是直接替换main.mdb文件,偶尔在使用了盟威平台的版本更新或者把程序放在新电脑上后会出现dao引用失效的情况。起初根据 通过函数自动引用DAO   ,在  SysFrmLogin的Form_Load事件中重新引用dao。每次在关闭时会提示“是否保存对窗体的修改”,如下图:

      虽然屏蔽系统警告可以解决,简单粗暴有效,但没了系统警告是很危险的,并且随着代码的复杂程度提高,很有可能在其他地方又解除了屏蔽警告。因此可以给用户创建个重新引用dao的按钮,在dao失效时手动一键重新引用dao,并可以配合vba达到同时重启的效果。

附   件:

点击下载此附件


图   示:


代   码:

Public Function ReAddDAO()
    Dim REFE As References '声明REFE为引用
    Dim strFileName As String '声明strFileName为文本型变量
    Dim rf As Object
    Set REFE = Application.References
    For Each rf In REFE '在引用中循环查找
        If rf.Name = "DAO" Then   '如果名字为DAO就移动DAO的引用
            Application.References.Remove rf '移除
            Exit For '退出循环
        End If
    Next
    strFileName = "C:\Program Files (x86)\Common Files\microsoft shared\DAO\dao360.dll"
    Set rf = Application.References.AddFromFile(strFileName) '重新引用DAO
End Function
 
Private Sub btnRepair_Click()
    Call ReAddDAO
    
    Dim repairpath As String
    'Debug.Print (CurrentProject.path)
    repairpath = CurrentProject.Path & "\" & "repair.bat"
    'Debug.Print (repairpath)
    Call Shell(repairpath)
    
    Application.Quit acQuitSaveAll
End Sub
 
@echo off
timeout /t 2 /nobreak > nul
set repairpath=%~dp0
set main=main.mdb
set repair=%repairpath%%main%
start %repair%
exit

Access软件网交流QQ群(群号:198465573)
 
 相关文章
引用DAO3.6的方法   【竹笛  2007/5/18】
Access编译错误:用户定义类型未定义的解决方法  【麥田  2010/12/6】
【Access懒人工具】用VBA代码重新引用DAO  【Bobby  2013/11/25】
Access开发平台--登陆时如何自动引用DAO3.6方法  【杜超  2017/2/15】
手动引用DAO3.6版本的方法,手动引用Microsoft DAO...  【麥田  2018/2/8】
通过函数自动引用DAO  【易勋  2018/11/8】
常见问答
技术分类
相关资源
文章搜索
关于作者

ligy118

文章分类

文章存档

友情链接