sql >> Databáze >  >> RDS >> Oracle

Excel ODBC Data Connection Doba dotazu potřebná k obnovení každého dotazu

Možná něco takového (za předpokladu, že všechna připojení umístí své výsledky do tabulky listu, nikoli do kontingenční tabulky):

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

Chcete-li to spustit:

  1. Alt +F11 přejděte do editoru VBA.
  2. Z nabídky:Vložit modul.
  3. Vložte kód do okna.
  4. Zavřete editor VBA.
  5. Alt +F8 vyvolá seznam maker. Vyberte nový a klikněte na Spustit.
  6. Alt +F11 znovu do editoru VBA.
  7. Ctr l+G otevře okamžité podokno s výsledky.

Pokud chcete, aby se kód zapisoval do buňky, použijte tuto verzi:

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



  1. MySQL vyhledávání necitlivé na diakritiku (arabština)

  2. Upsert s transakcí

  3. dotaz mySQL získat TOP 100 skóre mě šílí

  4. Jak uložit analyzovaný JSON do mezipaměti pro použití offline