Vba 如何使用TransferSpreadsheet将源文件的文件名添加到每行的第一个单元格?

Vba 如何使用TransferSpreadsheet将源文件的文件名添加到每行的第一个单元格?,vba,ms-access,Vba,Ms Access,我试图将源excel文件的文件名添加到导入Access表的每行的第一个单元格中 我在网上搜索,但找不到一个我想要实现的接近的例子 公共函数导入() 将路径设置为字符串 将文件名设置为字符串 path=“C:\Users\”&NetworkUser()&“\Documents\TestDatabase\” fileName=Dir(路径&“\*.xlsx”) 而文件名为“” DoCmd.TransferSpreadsheet导入,10,“表1”,路径和文件名,True,“A4:S28” fileN

我试图将源excel文件的文件名添加到导入Access表的每行的第一个单元格中

我在网上搜索,但找不到一个我想要实现的接近的例子

公共函数导入()
将路径设置为字符串
将文件名设置为字符串
path=“C:\Users\”&NetworkUser()&“\Documents\TestDatabase\”
fileName=Dir(路径&“\*.xlsx”)
而文件名为“”
DoCmd.TransferSpreadsheet导入,10,“表1”,路径和文件名,True,“A4:S28”
fileName=Dir()
温德
调用DeleteEmptyRows
端函数
我正在努力完成的一个例子:

从Excel文件输入

Stone | 5 | No
Door | 1 | No
访问表上的输出

example1.xlsx | Stone | 5 | No
example1.xlsx | Door | 1 | No
example2.xlsx | Table | 2 | No
example2.xlsx | Chair | 6 | No
example3.xlsx | Fuel | 12 | Yes

将电子表格导入包含
文件名
文本值字段的现有表中,然后运行简单的
更新
查询,用电子表格的文件名填充
文件名
字段

例如,假设您的表
Table1
包含一个名为
filename
的附加字段,您可以在
DoCmd.TransferSpreadsheet
方法之后运行
update
查询:

While fileName <> ""
    DoCmd.TransferSpreadsheet acImport, 10, "Table1", path & fileName, True, "A4:S28"
    DoCmd.RunSQL "update table1 set table1.filename = '" & fileName & "' where table1.filename is null"
    fileName = Dir()
Wend
文件名为“”
DoCmd.TransferSpreadsheet导入,10,“表1”,路径和文件名,True,“A4:S28”
DoCmd.RunSQL“update table1 set table1.filename=”&filename&“其中table1.filename为空”
fileName=Dir()
温德
example1.xlsx | Stone | 5 | No
example1.xlsx | Door | 1 | No
example2.xlsx | Table | 2 | No
example2.xlsx | Chair | 6 | No
example3.xlsx | Fuel | 12 | Yes
While fileName <> ""
    DoCmd.TransferSpreadsheet acImport, 10, "Table1", path & fileName, True, "A4:S28"
    DoCmd.RunSQL "update table1 set table1.filename = '" & fileName & "' where table1.filename is null"
    fileName = Dir()
Wend