我有一個單詞VBA UserForm,我用它作爲排行榜來跟蹤SQL查詢更新結果。每10分鐘發佈一次,有沒有辦法自動刷新表單?我試過這個:VBA用戶窗體刷新
Private Sub UserForm_Initialize()
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim AgingSQL As String
cnn.ConnectionString = "DATABASE INFO"
cnn.Open
AgingSQL = "SQL QUERY"
rst.Open AgingSQL, cnn
rst.MoveFirst
With UserForm1.AgingLeaderboard -- List Box I am using to display info
.Clear
Do
.AddItem
.List(i, 0) = rst![StatusBy]
.List(i, 1) = rst![Count]
i = i + 1
rst.MoveNext
Loop Until rst.EOF
End With
rst.Close
**Call Refresh**
End Sub
Sub Refresh()
Application.OnTime Now + TimeValue("00:00:10"), "UserForm_Initialize"
End Sub
但是,這似乎並沒有做任何事情。任何幫助表示讚賞!
我會把你的SQL在一個函數,並有一個等待十分鐘,然後調用該函數的循環。之後設置循環計數器長度。或者你可以在任務管理器中設置一個任務,每10分鐘調用一次子程序 –