通过ODBC连接使用excel vba进行SQL查询

时间:2019-08-02 14:04:47

标签: excel vba odbc

我创建了一个excel宏来为我的财务部门运行SQL查询,因为它们不是SQL专家,并且可以节省时间和精力。

现在,问题是我们有2个地点(曼彻斯特/罗马尼亚)。我来自曼彻斯特,excel宏运行完美,没有任何问题。但是,罗马尼亚的用户无法使用相同的excel宏运行任何查询。

罗马尼亚的用户会收到“选择数据源”弹出窗口Data Source,要求他们选择源,而当我们从曼彻斯特运行宏时,没有弹出窗口。

运行查询的数据库是计费数据库。并且,没有运行或连接到记帐软件的问题。前端。

因此,唯一的问题是运行excel宏以连接到数据库并运行其他SQL查询以满足部门的操作和报告需求时。

有什么我想念的吗? 在这方面的任何帮助或协助,我将不胜感激。

感谢与问候, SS

With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array(Array( _
        "ODBC;DSN=PT1-DB;UID=SRX_ANALYST_1;PWD=xxxxxxxxx;DBQ=PT1.WORLD;DBA=R;APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;BTD=F;BNF=F;BAM=IfAllSucces" _
        ), Array( _
        "sful;NUM=NLS;DPM=F;MTS=T;MDI=F;CSR=F;FWC=F;FBS=64000;TLO=O;MLD=0;ODA=F")), _
        Destination:=Range("A1")).QueryTable
        .CommandText = QRY_VAR
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .ListObject.DisplayName = "REPORT_SELECTION"
        .Refresh BackgroundQuery:=False
End With

0 个答案:

没有答案