VB不提倡用多线程,不安全。
你可以用TIMER控件?

解决方案 »

  1.   

    我试过100%出错退出!!!!:(
    好象只要不用Data控制件就可以用多线程!苦啊!呜~~~~~~~~~~~~~~~
      

  2.   

    标题     在Vb下实现多线程    zdm1999(原作)  
      
    关键字     Vb多线程 
      
    新建一Module
    Declare Function CreateThread Lib "kernel32" (lpThreadAttributes As Any, ByVal dwStackSize As Long, ByVal lpStartAddress As Long, lpParameter As Any, ByVal dwCreationFlags As Long, lpThreadID As Long) As Long
    Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As LongSub main()
       Load Form1
       Form1.Show
    End Sub
    Public Sub c1()
        .......
    End SubPublic Sub c2()
       ......  
    End Sub新建一窗体Private hthread1 As Long
    Private hthread2 As Long
    Private ithread1 As Long
    Private ithread2 As LongPrivate Sub Command1_Click()ithread1 = CreateThread(ByVal 0&, ByVal 0&, AddressOf c1, ByVal 0&, ByVal 0&, hthread1)  --创建线程一
    ithread2 = CreateThread(ByVal 0&, ByVal 0&, AddressOf c1, ByVal 0&, ByVal 0&, hthread1)  --创建线程二CloseHandle ithread1   --关闭线程一
    CloseHandle ithread2   --关闭线程二End SubPrivate Sub Form_Load()End Sub
      

  3.   

    你可以使用ado的异步记录集
    用withevens声明你的recordset对象
    dim wthevents rs As ADODB.Recordset
    这样就可以编写recordset的事件代码
    打开时用adAsyncExecute选项
    rs.Open "select * from tab",cn,adopenstatic,adoptimistic,adAsyncExecute
    当查询完成会触发executecomplete事件
      

  4.   

    说错了是FetchComplete事件
    executecomplete是用在connection对象上的