Access开发平台--登陆时如何自动引用DAO3.6方法-杜小杰
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access开发平台


Access开发平台--登陆时如何自动引用DAO3.6方法

发表时间:2017/2/15 10:19:48 评论(0) 浏览(9407)  评论 | 加入收藏 | 复制
   
摘 要:经常遇到'Mid'函数未定义,DAO类型未定义等错误一般手动重新引用DAO3.6就可以解决问题了。那如何让平台自动引用呢,方法如下
正 文:

点击下载示例平台.rar


 

 将以下代码复制替换到模块basRDPStartup中就行了


Option Compare Database
Option Explicit

Public Function ReAddRDPLibReference()
    On Error Resume Next
    Dim strMDE As String: strMDE = CurrentDb.Properties("MDE")
    On Error GoTo ErrorHandler

    If strMDE = "T" Then Exit Function

    Dim strLib As String
    Dim strDao As String
    #If Win64 Then
        strLib = CurrentProject.Path & "\RDPLib.x64.ucl"
    #Else
        strLib = CurrentProject.Path & "\RDPLib.x86.ucl"
    #End If

    If FolderExists("C:\Windows\SysWOW64") Then
        strDao = "C:\Program Files (x86)\Common Files\microsoft shared\DAO\dao360.dll"
    Else
        strDao = "C:\Program Files\Common Files\Microsoft Shared\DAO\dao360.dll"

    End If

    Dim ref As Reference
    For Each ref In Application.References
        On Error Resume Next
        Dim strRef As String: strRef = ""
        strRef = ref.FullPath
        On Error GoTo ErrorHandler
        If strRef Like "*\RDPLib*.ucl" Then
            Application.References.Remove ref
        ElseIf strRef Like "*DAO*" Then
            Debug.Print strRef
            Application.References.Remove ref
        End If
    Next

    Application.References.AddFromFile strLib

    Application.References.AddFromFile strDao
ExitHere:
    Exit Function

ErrorHandler:
    MsgBox Err.Description & vbCrLf & strLib, vbCritical, "Reference Error #" & Err
End Function


Function FileExists(ByVal strFile As String, Optional bFindFolders As Boolean) As Boolean
    Dim lngAttributes As Long
    lngAttributes = (vbReadOnly or vbHidden or vbSystem)

    If bFindFolders Then
        lngAttributes = (lngAttributes or vbDirectory)
    Else
        Do While Right$(strFile, 1) = "\"
            strFile = Left$(strFile, Len(strFile) - 1)
        Loop
    End If

    On Error Resume Next
    FileExists = (Len(Dir(strFile, lngAttributes)) > 0)
End Function

Function FolderExists(strPath As String) As Boolean
    On Error Resume Next
    FolderExists = ((GetAttr(strPath) And vbDirectory) = vbDirectory)
End Function

Access软件网交流QQ群(群号:198465573)
 
 相关文章
Access编译错误:用户定义类型未定义的解决方法  【麥田  2010/12/6】
【Access懒人工具】用VBA代码重新引用ADO  【麥田  2013/12/5】
快速开发平台--#3085 MoveTreeMenuNode() ...  【麥田  2014/3/1】
快速开发平台--开发注意事项及引用代码库方法  【风行  2015/2/16】
惹不起躲得起--“表达式中函数未定义”错误的解决办法  【红尘如烟  2015/6/9】
Access表达式中'Format$'函数未定义。的解决方法  【麥田  2017/1/22】
常见问答
技术分类
相关资源
文章搜索
关于作者

杜小杰

文章分类

文章存档

友情链接