返回列表 上一主題 發帖

dde斷線問題?

dde斷線問題?

連結dde時,有時連結端當掉了,可是dde還在跑,資料都沒有更新。
想請問如何自動判斷資料沒有在更新,並發出提示,例如三秒內,資料沒有更動,自動提醒。或者有更好的方法?
謝謝~

回復 1# ms2001
  使用 QueryTable 物件 的AfterRefresh 事件 試試看
  1. Dim MyDee As New Class1
  2. Sub SetfDee()
  3.     Set MyDee.QTable = QueryTables(1)
  4.     'QueryTable 一個由外部資料來源所傳回之資料構成的工作表。
  5. End Sub
  6. Sub MyDeeRefresh()
  7.     On Error Resume Next
  8.     MyDee.QTable.Refresh 0
  9.     'Me.QueryTables(1).Refresh 0 '也可以
  10. End Sub
複製代碼






  1. Option Explicit
  2. Public WithEvents QTable As QueryTable
  3. Private Sub QTable_AfterRefresh(ByVal Success As Boolean)
  4. MsgBox Success '判別 是否 更新成功
  5. End Sub
  6. Private Sub QTable_BeforeRefresh(Cancel As Boolean)
  7. 'MsgBox QTable.Name
  8. End Sub
複製代碼

TOP

感謝版主的指導,第二段小弟有點看不懂耶,可以幫我注解一下嗎,還有除了dde外,如果是用rtd連結的話也有用嗎?謝謝~

TOP

回復 3# ms2001
Option Explicit  '在模組層次中強迫每個在模組裏的變數都必須明確的宣告。
Public WithEvents QTable As QueryTable    'WithEvents 宣告一個含有事件的 Application 類型物件。
Private Sub QTable_AfterRefresh(ByVal Success As Boolean)  'Success Success As Boolean   如果查詢成功完成則為 True
MsgBox Success '判別 是否 更新成功   
End Sub

Private Sub QTable_BeforeRefresh(Cancel As Boolean)
'  Cancel   當事件發生時為 False。如果該事件程序將此引數( Cancel )設定為 True,則該程序結束後將不更新。
   'MsgBox QTable.Name
End Sub

TOP

G大您好
我執行Set MyDee.QTable = QueryTables(1) 此段程式碼會出現錯誤,請教如何解決

TOP

        靜思自在 : 靜坐常恩己過、閒談莫論人非。
返回列表 上一主題