|
代码是论坛上找的,很好用,然后用在自己的表上,但很多看不懂:
问题1:代码中那些是去重的,为什么只会单号去重,其它不会?
问题2:多条件查询是怎么实现的?
问题3: If (lianxi <> "") then if后面有()是什么意思?
If (lianxi <> "") And (lianxi <> UCase(Trim(CStr(dRng(temI, 1))))) Then
huoK = False
End If
这些好像只是当条作符合时 huoK = False
不符合时 就退出
dShu(temJ, 1) = Trim(CStr(dRng(temI, 1))) 这些应该只是把数据复制到查询表
没看到有多条件查询的,也没看出有去重的
If dRow > 1 Then
For temI = 2 To dRow
huoK = True
If (CDate(Trim(CStr(dRng(temI, 2)))) < X) Or (CDate(Trim(CStr(dRng(temI, 2)))) > Y) Then
huoK = False
End If
If (lianxi <> "") And (lianxi <> UCase(Trim(CStr(dRng(temI, 1))))) Then
huoK = False
End If
If (danHao <> "") And (danHao <> UCase(Trim(CStr(dRng(temI, 3))))) Then
huoK = False
End If
If (bianhao <> "") And (bianhao <> UCase(Trim(CStr(dRng(temI, 4))))) Then
huoK = False
End If
If (shanpin <> "") And (shanpin <> UCase(Trim(CStr(dRng(temI, 5))))) Then
huoK = False
End If
If huoK = True Then
temHao = UCase(Trim(CStr(dRng(temI, 3))))
If temHao <> "" Then
If (Not dObj.exists(temHao)) Then
temJ = temJ + 1
dObj(temHao) = temJ
dShu(temJ, 1) = Trim(CStr(dRng(temI, 1)))
dShu(temJ, 2) = Trim(CStr(dRng(temI, 2)))
dShu(temJ, 3) = Trim(CStr(dRng(temI, 3)))
dShu(temJ, 4) = Trim(CStr(dRng(temI, 4)))
dShu(temJ, 5) = Trim(CStr(dRng(temI, 5)))
If Val(dRng(temI, 10)) <> 0 Then
dShu(temJ, 6) = Val(dRng(temI, 10))
End If
dShu(temJ, 7) = "双击打开"
Else
If Val(dRng(temI, 6)) <> 0 Then
dShu(dObj(temHao), 6) = Val(dShu(dObj(temHao), 6)) + Val(dRng(temI, 10))
End If
End If
End If
End If
Next temI
End If
|
|