【发布时间】:2014-08-19 14:54:50
【问题描述】:
我有一个名为 Pathmap 的表,其中有一列 Path 是我要导入的文件的文件路径列表
然后我运行以下代码来尝试将所有这些文件导入我数据库中的两个表中。每个文件中的一张名为 sts 的表进入 table1,每个文件中的另一张名为 CP 的表进入 table2。
Sub pulloop()
DoCmd.RunSQL "delete * from table1"
DoCmd.RunSQL "delete * from table2"
strSql = "PathMap"
Set rs = CurrentDb.OpenRecordset(strSql)
With rs
If Not .BOF And Not .EOF Then
.MoveLast
.MoveFirst
While (Not .EOF)
importfile = rs.Fields("Path")
objAccess.NewCurrentDatabase "Nate"
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "TABLE1", importfile, true, STS
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "TABLE2", importfile, True, CP
'Debug.Print rs.Fields("Path")
.MoveNext
Wend
End If
.Close
End With
End Sub
问题是它调试,告诉我我知道的一个字段只在我的 importfiles 的 STS 表中,在目标 Table2 中不存在。它似乎实际上不是从导入文件的 CP 表中提取的,而是从 STS 表中提取的,我不确定我的语法有什么问题。
帮助不胜感激。通过 docmd 使用不同的选项卡到不同的表的困难。转移电子表格。
【问题讨论】:
-
变量
STS和CP的值是什么 -
sts 和 cp 只是导入工作簿中工作表的名称。
-
STS和CP是变量(它们周围没有引号)如果它们没有在 Sub 之外的某个地方声明,它们的值将是Empty这可能就是为什么你有麻烦了。