运行时错误'1004'刷新Excel工作表以获取更新数据时出现常规odbc错误

时间:2016-11-14 09:38:38

标签: vba excel-vba odbc excel-2010 excel

我们在服务器中使用共享文件夹,根据我们的业务需求保留所有Excel工作表,因此无论谁需要该文档,他都会从该共享文件夹中获取该文档,并且他将通过单击“刷新”来接收所有更新/操作数据“excel 2007中”数据“选项卡中的按钮,所以在我的组织中每个人的PC工作正常,他们通过刷新文档获取更新数据但在我的电脑中我点击刷新的运动我得到此错误,如下图所示给我一个明确的答案。

Sub TT_Out()
' ' Macro2 Macro

Dim RngFromDate, RngToDate
RngFromDate = InputBox("Enter Start Date !", "TT Out", Date - 1)
RngToDate = InputBox("Enter End Date !", "TT Out", RngFromDate)

With Range("Table_Query_from_ALXORCL[TT_OUT_DATE]").ListObject.QueryTable
    .Connection = Array(Array( _
        "ODBC;DRIVER={Oracle in instantclient_12_1};" & _
              "SERVER=ALXORCL;UID=ALXLIVE;PWD=alx123;" & _
              "DBQ=ALXORCL;DBA=W;APA=T;EXC=F;XSM=Default;FEN=T;QTO=T;FRC=10;F"), _
        Array("DL=10;LOB=T;RST=T;BTD=F;BNF=F;BAM=IfAllSuccessful;NUM=NLS;" & _
              "DPM=F;MTS=T;MDI=Me;CSR=F;FWC=F;FBS=60000;TLO=O;" & _
              "MLD=0;ODA=F;STE=F;TSZ=8"), Array("192;"))
    .CommandText = Array( _
        " SELECT ALX_TT_OUT.TT_OUT_CODE, " & _
        "        ALX_TT_OUT.TT_OUT_DATE, " & _
        "        ALX_TT_OUT.F_NAME, " & _
        "        ALX_TT_OUT.B_F_NAME, " & _
        "        ALX_TT_OUT.SENDING_PRPS, " & _
        "        ALX_LOOKUP_DET.LOOKUP_DET_NAME||'-'||ALX_TT_OUT.DOC_NO, " & _
        "        ALX_PRODUCT.PRODUCT_CODE, " & _
        "        ALX_TT_OUT.QTY*ALX_TT_OUT.SELL_RATE, " & _
        "        ALX_CORRESPONDENT.CORRESPONDENT_NAME" & Chr(13) & Chr(10) & _
        " FROM ALXTEST.ALX_CORRESPONDENT ALX_CORRESPONDENT, ALXTEST2.ALX_LOOKUP_DET ALX_LOOKUP_DET, ALXTEST2.ALX_PRODUCT ALX_PRODUCT, ALXL", _
        "      IVE.ALX_TT_OUT ALX_TT_OUT" & Chr(13) & "" & Chr(10) & _
        " WHERE ALX_PRODUCT.PRODUCT_ID = ALX_TT_OUT.PRODUCT_ID " & _
        "   AND ALX_TT_OUT.CORRESPONDENT_ID = ALX_CORRESPONDENT.CORRESPONDENT_ID " & _
        "   AND ALX_LOOKUP_DET.LOOKUP_DET_ID = ALX_TT_OUT.DOC_TYPE_L ", _
        "   AND ((ALX_TT_OUT.TT_OUT_CODE Not Like '%HOF%') " & _
        "         AND (to_date(TT_OUT_DATE) Between '" & RngFromDate & "' And '" & RngToDate & "') " & _
        "        )")
    .Refresh BackgroundQuery:=False
End With

End Sub

enter image description here

0 个答案:

没有答案