(在Sage Line 100和MS Access之间)
我试图通过Sage Line 100将表格导入MS Access万无一失。 由于必须导入来自多个源的几个表并且查询要按特定顺序运行,我想通过一键单击(表单按钮将运行宏来导入dbases运行查询并导出)来自动执行此操作。
有几个源位置从哪里导入表,并不是所有用户都设置了系统DSN(我也不想为每个人设置它们 - 我不是IT人(没有IT人))
这是我正在尝试的代码:
DoCmd.TransferDatabase acImport, "ODBC Database", _<br>
"ODBC;DRIVER={SAGE Line 100}; LOG=S:\apps\L100;" & _
"SCH=S:\apps\svnp;DIR=S:\data\svnd\mfg;" & _
"UID=abcd;PWD=defg;LANGUAGE=us_english;" & _
"DATABASE=ACCOUNTING_SYSTEM.STOCK_CONTROL_FILE", _
acTable, "ACCOUNTING_SYSTEM.STOCK_CONTROL_FILE", "ASSCF"
以上导致:
单击“确定”:
同样的结果:
Dim strSQL As String
strSQL = "SELECT * INTO ASSCF" & _
" FROM [ODBC;DRIVER={SAGE Line 100};" & _
"LOG=S:\apps\L100;SCH=S:\apps\svnp;DIR=S:\data\svnd\mfg;" & _
" UID=ajay;PWD=ajoo].ACCOUNTING_SYSTEM.STOCK_CONTROL_FILE;"
CurrentDb.Execute strSQL, dbFailOnError
注意:
当我使用我在系统上设置的DSN时,我可以成功导入数据:
Dim strSQL As String
strSQL = "SELECT * INTO ASSCF" & _
" FROM [ODBC;DSN=SAGE-mfg" & _
" UID=ajay;PWD=ajoo].ACCOUNTING_SYSTEM.STOCK_CONTROL_FILE;"
CurrentDb.Execute strSQL, dbFailOnError
任何想法?
答案 0 :(得分:0)
为什么不设置odbc连接字符串,然后通过连接字符串打开连接并执行sql,而不是在您的sql语句中嵌入DRIVER。我认为你的sql语句中“DRIVER”前面的“ODBC”导致错误。