将xls导入Access表时使用路径变量

时间:2013-08-02 09:34:34

标签: vba ms-access import access-vba spreadsheet

我有一段代码,在打开数据库时导入电子表格。最初我有编码的电子表格的路径,但是当电子表格版本更改时,路径可能会发生变化。最新路径现在存储在全局参数表中。我无法使用变量处理代码,也许我正在做一些愚蠢的事情,我不知道,我是VB / VBA的新手。

Function Import_Menu()
Dim db As DAO.Database
Set db = CurrentDb
Dim mpath As String

mpath = DLookup("MenuPath", "Global", "ID = 1")
On Error Resume Next:   db.TableDefs.Delete "Activity_Menu":   On Error GoTo 0
db.TableDefs.Refresh
DoCmd.TransferSpreadsheet _
    TransferType:=acImport, _
    SpreadsheetType:=acSpreadsheetTypeExcel9, _
    TableName:="Activity_Menu", _
    FileName:=" & mpath & ", _
    HasFieldNames:=False, _
    Range:="Task Menu!A3:AF120"
db.TableDefs.Refresh
db.Close:   Set db = Nothing
End Function

1 个答案:

答案 0 :(得分:0)

此;

 FileName:=" & mpath & ", _

导致字符串& mpath &不正确。

如果mpath是完整路径和文件名:

FileName:= mpath, _

如果它只是一条路径:

FileName:= mpath & "\BLA.BLOOP", _

(确保在需要时添加\