2013-02-08 51 views
1

我很擔心鏈接表與csv文件存在問題。 我做了通過VBA代碼附加這樣的:啓動時將MSAccess鏈接CSV文件作爲表格

With CurrentDb 
    Dim ts As DAO.TableDef 
    Set ts = .CreateTableDef("cli") 
    ts.SourceTableName = "CLI1.csv" 
    ts.Connect = "Text;DSN=CLI1 Spec;FMT=Delimited;HDR=NO;IMEX=2;CharacterSet=850;DATABASE=C:\Users\user1\Desktop" 
    .TableDefs.Append ts 
    .TableDefs.Refresh 
End With 

當這個被稱爲手動,該表是否正確連接。 當在autoexec宏中自動調用它時,出現錯誤3625,說文本文件規範「CLI1 Spec」不存在......通過它!

也許是因爲當運行一個autoexec宏的上下文沒有完全初始化......但我能做些什麼才能使它工作?

回答

2

嘗試:

With CurrentDb 
    Dim ts As DAO.TableDef 
    Set ts = .CreateTableDef("cli") 
    ts.SourceTableName = "CLI1.csv" 
    ts.Connect = "Text;FMT=Delimited;HDR=NO;IMEX=2;CharacterSet=850;DATABASE=C:\Users\user1\Desktop" 
    .TableDefs.Append ts 
    .TableDefs.Refresh 
End With 

如果不適合,這是不是太困難的使用Schema.ini文件和sql,例如:Handle TransferText Errors

+0

我不「我不覺得會適合,因爲我沒有給出規範,而且我也不想創建一個模式文件,因爲導入已經在生產環境中工作了很多年了,我只想把csv的路徑放在一個ini文件中,並將其附加到應用程序啓動 – boblemar 2013-02-09 06:14:59

+0

另一方面,它使用system.ini更清晰透明,而且它似乎甚至可以在autoexec宏內運行 – boblemar 2013-02-09 08:23:16