用附件的文件名填充表

问题描述 投票:0回答:1

我有一个已付款发票的基本记录数据库。在我们的网络驱动器上,我们有一个PDF文件,该文件标有3个字母的代码属性代码,MMDDYY日期和供应商名称。将PDF保存到网络驱动器后,将相同的信息输入到Access数据库中(3个字母的属性代码,日期,供应商名称)。是否可以通过VBA通过将文件附加到记录中来填充这些字段?

我每周大约有40-60个文件,我可以通过导出文件夹中所有文件名的.txt文件来执行此操作,然后准备该文本文件以导入到Access中...但是我发现它更快只需手动输入每条记录。

不是每个人都可以访问网络驱动器(文件包含财务数据),但是有些人需要访问才能确定何时支付发票。

ms-access access-vba
1个回答
0
投票

Travis,

您可以做的是用一些VBA代码来循环文件夹,检查新的PDF文件,然后将它们添加到表中。像这样的东西似乎起作用:

Dim db As DAO.Database
Dim rsData As DAO.Recordset
Dim strFolder As String
Dim strFile As String
Set db = DBEngine(0)(0)
Set rsData = db.OpenRecordset("SELECT * FROM tblFileData WHERE 1=2;")
strFolder = "J:\test-data\"
strFile = Dir(strFolder, vbNormal)
Do
    If Right(strFile, 3) = "pdf" Then
        If IsNull(DLookup("PropertyCode", "tblFileData", "PropertyCode & ProcessDate & VendorName='" & Left(strFile, Len(strFile) - 4) & "'")) Then
            With rsData
                .AddNew
                !PropertyCode = Left(strFile, 3)
                !ProcessDate = Mid(strFile, 4, 6)
                !VendorName = Mid(strFile, 10, Len(strFile) - 13)
                .Update
            End With
        End If
    End If
    strFile = Dir
Loop Until strFile = ""

[您可能还想考虑在此表中存储文件名,以便用户可以在网络上打开此文件,并将已处理的文件移动到新文件夹,以便您每天仅处理新文件。

问候

© www.soinside.com 2019 - 2024. All rights reserved.