新建一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
你可以使用ado的异步记录集 用withevens声明你的recordset对象 dim wthevents rs As ADODB.Recordset 这样就可以编写recordset的事件代码 打开时用adAsyncExecute选项 rs.Open "select * from tab",cn,adopenstatic,adoptimistic,adAsyncExecute 当查询完成会触发executecomplete事件
好象只要不用Data控制件就可以用多线程!苦啊!呜~~~~~~~~~~~~~~~
关键字 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
用withevens声明你的recordset对象
dim wthevents rs As ADODB.Recordset
这样就可以编写recordset的事件代码
打开时用adAsyncExecute选项
rs.Open "select * from tab",cn,adopenstatic,adoptimistic,adAsyncExecute
当查询完成会触发executecomplete事件
executecomplete是用在connection对象上的