2009-11-26 52 views
1

我現在有一些代碼根據訪問表單上的一系列文本框的值繪製圖表。訪問表格上的圖形

我很高興的代碼和它是如何工作,但我不認爲它是這樣做的最有效的方式。該圖需要大約1.2秒來重新繪製每次。表單沒有綁定,所以它只是從文本框中獲取值。只是爲了檢查我是否通過循環並將文本框值轉儲到debug.print,並且立即執行,所以它不能。

我懷疑它試圖重新繪製圖表將每一個值後。在VBA中執行此操作有更快捷的方法,還是我堅持使用它?

'************************** 
     '** Draw the Call Deviation graph ** 
     '************************** 
     .cells(1, 1) = "Start Time" 
     .cells(1, 2) = "Deviation" 
     lRT_actual = 0 
     lRT_forecast = 0 
     For i = 1 To 48 
      lRT_actual = lRT_actual + Me.Controls("txtActual_" & i) 
      lRT_forecast = lRT_forecast + Me.Controls("txtForecast_" & i) 
      .cells(i + 1, 1) = Format(DateAdd("n", (i - 1) * 15, "08:00:00"), "HHMM") 

      .cells(i + 1, 2) = lRT_actual - lRT_forecast 

      If Me.acxProgress_bar.Value + 2 < 100 Then 
       Me.acxProgress_bar.Value = Me.acxProgress_bar.Value + 2 
      Else 
       Me.acxProgress_bar.Value = 90 
      End If 
     Next i 

感謝您的幫助

回答

2

纔有可能爲您的值添加到表格和圖形是什麼?

+0

我會做一個代碼的快速重構來做這個測試。這將意味着如何做一個臨時表,看起來有點超過頂部,但如果它總體上更快,那就這樣吧! – 2009-11-26 15:50:21

+0

臨時表可以清空並重新填充,使其成爲永久性臨時表。 – Fionnuala 2009-11-26 15:52:07

+0

爲什麼不使用存儲的QueryDef來從控件中提取值? – 2009-11-26 23:25:20