首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

VB6.0中的有关问题

2012-01-02 
VB6.0中的问题最近写了一段VB的代码如下,但是在执行了if嵌套语句后,countn,countq,county没有变化,显示到

VB6.0中的问题
最近写了一段VB的代码如下,但是在执行了if嵌套语句后,countn,countq,county没有变化,显示到文本框中的数字仍然为0。现请各位大虾帮我改改吧。万分感激啊!
Private Sub Command1_Click()
Dim Address As String
Dim Location As String
Dim Humidity As Double
Dim countn As Integer
Dim countq As Integer
Dim county As Integer

Dim i As Integer
countn = 0
countq = 0
county = 0

Address = Text1.Text 'Text1中输入文本类型
For i = 0 To 139
Location = Adodc1.Recordset.Fields("location").Value '读数据库这里没有问题
Humidity = Adodc1.Recordset.Fields("湿度").Value

If Location = Address Then
 If Humidity < 0.8 Then
  countn = countn + 1
ElseIf Humidity < 0.9 Then
  countq = countq + 1
Else
  county = county + 1
  End If
  End If
  Next i
 
  Text2.Text = countn
  Text3.Text = countq
  Text4.Text = county

End Sub

Private Sub Command2_Click()
frmcom.Show
Unload Me
End Sub

[解决办法]
自己断点跟踪下吧,可能是Location = Address 这里不相等所以下面if一段都不执行,自己调试下
[解决办法]
学会用DEBUG.PRINT
[解决办法]
首先分析一下你代码的功能,大概是这样的:数据库中存放着各地采集到的湿度历史数据,你选择比如“1车间”,这时就把数据库中1车间中所有的湿度统计出来,即它们分布在0.8,0.9,及以上的不同次数。
出现值未变化,即未统计 可能有以下几个方面原因:
1,你选定的地点,库中根本没有记录;
2,你的记录一直没有变化,没有看到你的记录集移动的代码;
3,139是什么意思,指你表中的记录数吗?
综上,建议使用ADO访问数据库。
dim rs,db,sql
set db=opendatabase(app.path+"\test.mdb")
sql="select * from mytable where location='" & trim(text1.text) & "'"
set rs=db.openrecordset(sql)
if rs.bof or rs.eof then msgbox "没有记录"
while not rs.eof
 Humidity =rs("湿度")
 If Humidity < 0.8 Then
countn = countn + 1
ElseIf Humidity < 0.9 Then
countq = countq + 1
Else
county = county + 1
End If
rs.movenext
wend

rs.close
db.close
set rs=nothing
set db=nothing



热点排行