这个程序始终不行:
Private Sub Command5_Click()
Dim strtemp As String
strtemp = InputBox("请输入姓名:")
Dim s
s = Adodc1.Recordset.Book              
Adodc1.Recordset.Filter = "姓名 like '%" + strtemp + "%'"If Adodc1.Recordset.EOF  Then
        MsgBox "没有记录"
        Adodc1.Recordset.Book = s
End IfEnd Sub当找不到记录时,系统就报错
大家帮忙看看!!!!!!!!!!!!!!!!
还有
Adodc1.Recordset.Filter = "姓名 like '%" + strtemp + "%'"
这句改在data控件中就不行:找不到记录!这又是为什吗?

解决方案 »

  1.   

    Adodc1.Recordset.Filter  "姓名 like '%" + strtemp + "%'"
      

  2.   

    自己定义ADO来查询是比较好的办法比如:
    dim Cn as new adodb.connection
    dim rs as new adodb.recordset 
    ……rs.open "select  * from table  where 姓名 like '%" + strtemp + "%' ",cn,1,3
    set rs=nothing
      

  3.   

    改成下面这样试试一下:
    If Adodc1.Recordset.EOF and Adodc1.Recordset.BOF Then
            MsgBox "没有记录"
            Adodc1.Recordset.Book = s
    End If
      

  4.   

    Private Sub Command1_Click()
    Dim s
    s = Adodc1.Recordset.Book
    Dim strtemp As String
    strtemp = InputBox("cda:")
    Adodc1.Recordset.Filter = "cda like '%" & strtemp & "%'"
    If Adodc1.Recordset.EOF Then
            MsgBox "没有"
            Adodc1.Recordset.Book = s
    End IfEnd Sub
    楼主,没有问题啊!
      

  5.   

    谢谢大家!!!这个问题我已解决,还有一个问题:Private Sub Command6_Click()
    Adodc1.RecordSource = Text4.Text                   
    Adodc1.Refresh
    End Sub我向text4.text中输入 select * from student 就会出现错误!
    “form字句语法错误“  “对象‘refresh’的方法‘IAdodc’失败“
      

  6.   

    select * from student like "对象='%"& text4.text &"%'"
      

  7.   

    Private Sub Command6_Click()
    Adodc1.RecordSource = Text4.Text                   
    Adodc1.Refresh
    End Sub这段代码我是想让使用者向text4种输入sql语句,来执行查询
    但我向text4.text中输入 select * from student 就会出现错误!
    “form字句语法错误“  “对象‘refresh’的方法‘IAdodc’失败“