Private Sub Command2_Click()
zw_xz = 0
Set rs = New Recordset
rs.Open "select * from users where packnum=" & Text3.Text, conn
Set rs1 = New Recordset
rs1.Open "select * from users where yn=0", conn
While Not rs1.EOF
If UBound(Split(rs1!treeid, ",")) > UBound(Split(rs!treeid, ",")) Then
If Split(rs1!treeid, ",")(UBound(Split(rs!treeid, ","))) = Text3.Text Then
zw_xz = zw_xz + 1
End If
End If
rs1.MoveNext
Wend
Text2.Text = UBound(Split(rs!treeid, ","))
Text1.Text = zw_xz
End Sub
zw_xz = 0
Set rs = New Recordset
rs.Open "select * from users where packnum=" & Text3.Text, conn
Set rs1 = New Recordset
rs1.Open "select * from users where yn=0", conn
While Not rs1.EOF
If UBound(Split(rs1!treeid, ",")) > UBound(Split(rs!treeid, ",")) Then
If Split(rs1!treeid, ",")(UBound(Split(rs!treeid, ","))) = Text3.Text Then
zw_xz = zw_xz + 1
End If
End If
rs1.MoveNext
Wend
Text2.Text = UBound(Split(rs!treeid, ","))
Text1.Text = zw_xz
End Sub
Split函数返回的是一个一维的数组。
rs1.Open "select treeid from users where yn=0", conn定义一个数组,用来存放Split(rs1!treeid, ","),不要每次都从数据库记录重新计算一次
rs.Open "select * from users where packnum=" & Text3.Text, conn,adOpenStatic, adLockReadOnly, adCmdText加上後面的那三個參數,可提高40%(如果你的記錄集用於隻讀的話)