Dim rs As ADODB.Recordset
Dim sql As String
Dim cn As New ADODB.Connection
cn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database password=1234;Data Source=" + App.Path + "\data.mdb"
sql = "select * from jr "
Set rs = New ADODB.Recordset
rs.Open sql, cn, adOpenForwardOnly, adLockOptimistic
For i = 1 To 20
rs.Fields("金额") = Val(k(i)) * Val(al))
if rs.Fields("金额") >0 And rs.Fields("金额") = 0 then
j=1+j
else
z=1+z
end if
rs.MoveNext
Next
rs.Update
Label5(17) = j
Label5(16) = z
为什么最后J和Z显示的不是正确结果???
Dim sql As String
Dim cn As New ADODB.Connection
cn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database password=1234;Data Source=" + App.Path + "\data.mdb"
sql = "select * from jr "
Set rs = New ADODB.Recordset
rs.Open sql, cn, adOpenForwardOnly, adLockOptimistic
For i = 1 To 20
rs.Fields("金额") = Val(k(i)) * Val(al))
if rs.Fields("金额") >0 And rs.Fields("金额") = 0 then
j=1+j
else
z=1+z
end if
rs.MoveNext
Next
rs.Update
Label5(17) = j
Label5(16) = z
为什么最后J和Z显示的不是正确结果???
是错误的,一个数不可能既大于0又等于0
改为
if rs.Fields("金额") >= 0 Then
select sum(IIF(金额>0,1,0)) as A,sum(IIF(金额<0,1,0)) as B fROM jr where ID between 1 and 20