王丽君csdn 2014-04-08 13:00 采纳率: 0%
浏览 871

模糊搜索,为什么只显示一条信息,代码如下,请各位大侠帮帮忙吧

Dim texts As String
Dim mrc As ADODB.Recordset
Set mrc = New ADODB.Recordset
Set mrc = ExecuteSQL(txtsql1)

'If mrc.EOF = False Then

With MSF1
.Rows = 22
.Row = 1
mrc.MoveFirst
Do While Not mrc.EOF

 For i = 1 To 2
   .TextMatrix(.Row, i) = mrc.Fields(i)
 Next i
 .TextMatrix(.Row, 0) = mrc.Fields(0)
  .Row = .Row + 1

mrc.MoveNext
Loop

End With

'End If

Set mrc = Nothing
Exit Sub
s2:
MSF1.Refresh
End Sub

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-01 22:28
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在你的代码中,你似乎正在尝试使用ADODB的Recordset对象执行SQL查询并获取结果。然后,你试图将这些数据填充到一个名为MSF1的数据表中。

    但是,在你的代码中,你没有正确地处理记录集(recordset)。当你尝试访问.Row属性时,它返回的是错误值(-31),这通常表示“未找到行”。

    你应该检查你的SQL查询是否有足够的列来满足你的需求,并确保你正确地设置了记录集的参数和行为。例如,如果你的SQL查询是这样的:

    SELECT * FROM your_table
    WHERE your_column = 'your_value'
    

    并且你在ExecuteSQL方法中设置的参数是正确的,那么你应该能够看到你想要的结果。

    此外,你需要检查你的记录集中是否有足够的行数来满足你的需求。如果你的记录集只有两行,但你试图获取更多的行,将会出现同样的问题。

    希望这能帮助你解决问题!

    评论

报告相同问题?