首页 > 解决方案 > 检查文件是否在数据库中链接

问题描述

我有一个存储有关 word 文档信息的 Access 数据库。其中一行包含指向该文件的链接。由于数据库的一些复杂性,我开始编写代码来检查链接是否有效并指向现有文件:

Private Sub LinkCheck()

    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim ind As Integer
    Dim errStr As String

    Set db = CurrentDb
    Set rs = db.OpenRecordset("Files", dbOpenTable)
    rs.MoveFirst

    With rs
        For ind = 0 To (rs.RecordCount - 1)
        On Error Resume Next
            If Dir(rs!Hyperlink) = "" Then
                If Err.Number = 52 Then
                    Err.Clear
                    errStr = errStr & rs!FileName & " RUNTIME" & vbNewLine
                Else
                    errStr = errStr & rs!FileName & vbNewLine
                End If
            End If
        rs.MoveNext
        Next ind
    End With
    If errStr <> "" Then MsgBox (errStr)

该子检查链接是否指向有效文件。如果链接有效,但文件不存在,则子程序将数据库中的文件名添加到消息框,如果链接本身无效,则将文件名添加到带有“RUNTIME”的相同消息框除此之外,指示运行时错误 52。

这个子运行良好,现在我正在尝试编写一个执行相反操作的代码,通过相关文件夹和子文件夹中的文件并检查该文件是否在数据库中链接。

这就是我卡住的地方,因为我对 VBA 比较陌生,我不知道如何解决这个问题。有没有办法使用类似的 sub 来执行此操作?

标签: vbams-access

解决方案


推荐阅读