VB对access模糊查询,强高手改正
PrivateSubCommand1_Click()DimiAsIntegeri=0DoUntili>=100Adodc1.RecordSource="select*fr...
Private Sub Command1_Click()
Dim i As Integer
i = 0
Do Until i >= 100
Adodc1.RecordSource = "select * from Sheet1 where 字段1 = '" & Trim(Text1.Text) & "'"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
List1.AddItem (Adodc1.Recordset.Fields("字段2"))
End If
i = i + 1
Loop
Adodc1.Recordset.MoveNext
End Sub
这是我程序的一段代码,我想让软件搜寻数据库,并返回显示所有符合条件的记录,但是listbox显示的是100条第一条记录,那里写错了呢,请高手指教。
还有,如果我想让软件在搜索至数据库最后的记录时结束循环(前提不知道有多少条记录)应该怎样做
改正一下,Adodc1.Recordset.MoveNext抄错位置了
End If
i = i + 1
Adodc1.Recordset.MoveNext
Loop
End Sub
可是问题依旧没有解决, 展开
Dim i As Integer
i = 0
Do Until i >= 100
Adodc1.RecordSource = "select * from Sheet1 where 字段1 = '" & Trim(Text1.Text) & "'"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
List1.AddItem (Adodc1.Recordset.Fields("字段2"))
End If
i = i + 1
Loop
Adodc1.Recordset.MoveNext
End Sub
这是我程序的一段代码,我想让软件搜寻数据库,并返回显示所有符合条件的记录,但是listbox显示的是100条第一条记录,那里写错了呢,请高手指教。
还有,如果我想让软件在搜索至数据库最后的记录时结束循环(前提不知道有多少条记录)应该怎样做
改正一下,Adodc1.Recordset.MoveNext抄错位置了
End If
i = i + 1
Adodc1.Recordset.MoveNext
Loop
End Sub
可是问题依旧没有解决, 展开
1个回答
展开全部
应该这么写,把查询语句放最上面,只需要查询一次
由于循环数量为固定100,所以给你换成for循环了
再添加一句是否Eof的检测,否则如果返回的记录小于100条,就会出错
Private Sub Command1_Click()
Dim i As Integer
i = 0
Adodc1.RecordSource = "select * from Sheet1 where 字段1 = '" & Trim(Text1.Text) & "'"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
for i = 1 to 100
List1.AddItem (Adodc1.Recordset.Fields("字段2"))
if i >= Adodc1.Recordset.RecordCount then exit for
Adodc1.Recordset.MoveNext
next i
End If
End Sub
由于循环数量为固定100,所以给你换成for循环了
再添加一句是否Eof的检测,否则如果返回的记录小于100条,就会出错
Private Sub Command1_Click()
Dim i As Integer
i = 0
Adodc1.RecordSource = "select * from Sheet1 where 字段1 = '" & Trim(Text1.Text) & "'"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
for i = 1 to 100
List1.AddItem (Adodc1.Recordset.Fields("字段2"))
if i >= Adodc1.Recordset.RecordCount then exit for
Adodc1.Recordset.MoveNext
next i
End If
End Sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询