程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Excel ODBC数据连接查询刷新每个查询所花费的时间大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Excel ODBC数据连接查询刷新每个查询所花费的时间?

开发过程中遇到Excel ODBC数据连接查询刷新每个查询所花费的时间的问题如何解决?下面主要结合日常开发的经验,给出你关于Excel ODBC数据连接查询刷新每个查询所花费的时间的解决方法建议,希望对你解决Excel ODBC数据连接查询刷新每个查询所花费的时间有所启发或帮助;

可能是这样的事情(假设所有连接都将其结果放置在工作表中,而不是在数据透视表中):@H_673_3@

Sub TimeQuerIEs()
    Dim oSh As Worksheet
    Dim oCn As WorkbookConnection
    Dim dTime As Double
    For Each oCn In ThisWorkbook.Connections
        dTime = Timer
        oCn.Ranges(1).ListObject.querytable.refresh false
        DeBUG.Print Timer - dTime, oCn.name, oCn.Ranges(1).Address(external:=TruE)
    Next
End Sub

要运行此命令:@H_673_3@ @H_673_10@

  • Alt+F11转到VBA编辑器。
  • 从菜单:插入模块。
  • 将代码粘贴到窗口中。
  • 关闭VBA编辑器。
  • Alt+F8弹出宏列表。选择新的,然后单击运行。
  • Alt+F11再到VBA编辑器。
  • Ctrl +G打开立即窗格,显示结果。
  • 如果要使代码写入单元格,请使用以下版本:@H_673_3@

    Sub TimeQuerIEs()
        Dim oSh As Worksheet
        Dim oCn As WorkbookConnection
        Dim dTime As Double
        Dim lRow As Long
        Set oSh = Worksheets("Sheet4") 'Change to your sheet name!
        oSh.Cells(1,1).Value = "name of Connection"
        oSh.Cells(1,2).Value = "LOCATIOn"
        oSh.Cells(1,1).Value = "refresh time (s)"
        For Each oCn In ThisWorkbook.Connections
            lRow = lRow + 1
            dTime = Timer
            oCn.Ranges(1).ListObject.querytable.refresh false
            oSh.Cells(lRow,3).Value = Timer - dTime
            oSh.Cells(lRow,1).Value = oCn.name
            oSh.Cells(lRow,2).Value = oCn.Ranges(1).Address(external:=TruE)
        Next
    End Sub
    

    解决方法

    我正在尝试测试从Excel数据连接运行的查询的三种变体。@H_673_3@

    我有三个单独的数据连接和三个单独的选项卡,它们分别从每个连接获取数据。@H_673_3@

    每个查询的连接字符串相同,只有命令文本(Oracle SQL)不同。@H_673_3@

    我专门使用版本 Excel 2016 MSO 16.0.4456.1003 64bit@H_673_3@

    大佬总结

    以上是大佬教程为你收集整理的Excel ODBC数据连接查询刷新每个查询所花费的时间全部内容,希望文章能够帮你解决Excel ODBC数据连接查询刷新每个查询所花费的时间所遇到的程序开发问题。

    如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

    本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
    如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。