查询按钮的代码,我的这个用ado的话怎么改呀,而且很急的,通过查询编号把和编号在一个表里的数据全部反映到对应的text中,关键是1),2)两句!!!解决问题给分!谢谢!!
Private Sub CmdQuery_Click()
'FindBH是要查找的编号
Dim FindBH As String
'Criteria是查询条件
Dim Criteria As String
'CurrentBookMark是当前记录指针
Dim CurrentBookMark As String
'出现输入框,将输入的内容送到FindBH变量中
FindBH = InputBox$("请输入要查找的编号:", "查找")
'保存当前记录指针到CurrentBookMark变量中
CurrentBookMark = data1.Recordset.Book
'生成查找条件
Criteria = "编号=" & "'" & FindBH & "'"
'查找满足条件的第一个记录
1)data1.Recordset.FindFirst Criteria
'如果没有找到
2)If data1.Recordset.NoMatch Then
                  '恢复当前记录指针到CurrentBookMark
data1.Recordset.Book = CurrentBookMark
                  '弹出提示框
MsgBox "没有满足条件的记录!", 0, "查找结果"
End If
End Sub

解决方案 »

  1.   

    Private Sub CmdQuery_Click()
    'FindBH是要查找的编号
    Dim FindBH As String
    'Criteria是查询条件
    Dim Criteria As String
    'CurrentBookMark是当前记录指针
    Dim CurrentBookMark As String
    '出现输入框,将输入的内容送到FindBH变量中
    FindBH = InputBox$("请输入要查找的编号:", "查找")
    '保存当前记录指针到CurrentBookMark变量中
    CurrentBookMark = data1.Recordset.Book
    '生成查找条件
    Criteria = "编号=" & "'" & FindBH & "'"
    '查找满足条件的第一个记录
    1)dim rst as new adodb.recordset
     rst.open "select * from Table where " & Criteria ,cnn
    if not rst.eof then
        '找到了记录
    else
      MsgBox "没有满足条件的记录!", 0, "查找结果"
    end if
    End Sub
      

  2.   

    没错以前是用data数据控件,现在要用ado
      

  3.   

    rst.open "select * from Table where " & Criteria ,cnn
    我按照lisnake的方法改了一下,结果运行到这句时说
    实现错误‘3001’
    变量或者类型不正确,或者不可以接受范围之内,要不就与其他数据冲突!!!而且我要从很多编号中选出我指定的那条编号,其他和指定编号在一个表的数据自动在界面上显示!!!where后面跟什么条件语句????
      

  4.   

    Private Sub CmdQuery_Click()
    'FindBH是要查找的编号
    Dim FindBH As String
    'Criteria是查询条件
    Dim Criteria As String
    'CurrentBookMark是当前记录指针
    Dim CurrentBookMark As String
    '出现输入框,将输入的内容送到FindBH变量中
    FindBH = InputBox$("请输入要查找的编号:", "查找")
    '保存当前记录指针到CurrentBookMark变量中
    CurrentBookMark = Adodc1.Recordset.Book
    '生成查找条件
    Criteria = "编号=" & "'" & FindBH & "'"
    '查找满足条件的第一个记录
    1)Adodc1.Recordset.FindFirst Criteria
    '如果没有找到
    2)If Adodc1.Recordset.NoMatch Then
                      '恢复当前记录指针到CurrentBookMark
    Adodc1.Recordset.Book = CurrentBookMark
                      '弹出提示框
    MsgBox "没有满足条件的记录!", 0, "查找结果"
    End If
    End Sub以上是用ADO控件。
      

  5.   

    Private Sub CmdQuery_Click()
       dim rs as new adodb.recordset
    'FindBH是要查找的编号
    Dim FindBH As String
    'Criteria是查询条件
    Dim Criteria As String
    'CurrentBookMark是当前记录指针
    Dim CurrentBookMark As String
    '出现输入框,将输入的内容送到FindBH变量中
    rs.open "select * from XXX表",cn'cn为连接对象
    FindBH = InputBox$("请输入要查找的编号:", "查找")
    '保存当前记录指针到CurrentBookMark变量中
    CurrentBookMark = rs.Book
    '生成查找条件
    Criteria = "编号=" & "'" & FindBH & "'"
    '查找满足条件的第一个记录
    rs.FindFirst Criteria
    if rs.eof then
                      '恢复当前记录指针到CurrentBookMark
         rs.Book = CurrentBookMark
                      '弹出提示框
        MsgBox "没有满足条件的记录!", 0, "查找结果"
    else
       msgbox "找到了…!!"
    End If
    End Sub
    以上是用ADO对象
      

  6.   

    1)Adodc1.Recordset.FindFirst Criteria
    2)If Adodc1.Recordset.NoMatch Then
    这两句都错了adodc后没有findfirst和nomatch属性,
    第2段代码rs.FindFirst Criteria也是同样的错误!!!
      

  7.   

    哦,对了,是用Find方法,DATA控件才有findfrist方法。Private Sub CmdQuery_Click()
       dim rs as new adodb.recordset
    'FindBH是要查找的编号
    Dim FindBH As String
    'Criteria是查询条件
    Dim Criteria As String
    'CurrentBookMark是当前记录指针
    Dim CurrentBookMark As String
    '出现输入框,将输入的内容送到FindBH变量中
    rs.open "select * from XXX表",cn'cn为连接对象
    FindBH = InputBox$("请输入要查找的编号:", "查找")
    '保存当前记录指针到CurrentBookMark变量中
    CurrentBookMark = rs.Book
    '生成查找条件
    Criteria = "编号=" & "'" & FindBH & "'"
    '查找满足条件的第一个记录
    rs.Find Criteria
    if rs.eof then
                      '恢复当前记录指针到CurrentBookMark
         rs.Book = CurrentBookMark
                      '弹出提示框
        MsgBox "没有满足条件的记录!", 0, "查找结果"
    else
       msgbox "找到了…!!"
    End If
    End Sub
      

  8.   

    Private Sub CmdQuery_Click()
       dim rs as new adodb.recordset
    为什么运行到这里就说“用户定义类型未定义”???急死我了,可能就差这点了!!!
      

  9.   

    要引用 micorosoft activex data object
      

  10.   

    Private Sub CmdQuery_Click()
       dim rs as new adodb.recordset
    为什么运行到这里就说“用户定义类型未定义”???急死我了,可能就差这点了!!!
    这个问题已经解决了!谢谢
    现在是rs.open "select * from XXX表",cn'cn为连接对象----这句有问题
    请问cn该如何定义,请各位大哥给点代码和注释
      

  11.   

    dim cn as  new adodb.connection
    cn.open <连接字符串>连接字符串 可以用adodc生成一个
      

  12.   

    Private Sub CmdQuery_Click()
       Dim rs As New ADODB.Recordset
       Dim cn As New ADODB.Connection
      cn.Open = "Provider=OraOLEDB.Oracle.1;Persist Security Info=False;User ID=dytd;PassWord=dytd;Data Source=dytd"
      
    'FindBH是要查找的编号
    Dim FindBH As String
    'Criteria是查询条件
    Dim Criteria As String
    'CurrentBookMark是当前记录指针
    Dim CurrentBookMark As String
    '出现输入框,将输入的内容送到FindBH变量中
    rs.Open "select * from DJ_BGDJ_HBTDSYQSQS " & crieria, cn
    FindBH = InputBox$("请输入要查找的土地登记申请书编号:", "查找")
    '保存当前记录指针到CurrentBookMark变量中
    If rs.BOF And rs.EOF Then
    MsgBox "没有"
    Else
    MsgBox "有"
    End If
    End Sub
    运行到 cn.Open = "Provider=OraOLEDB.Oracle.1;Persist Security Info=False;User ID=dytd;PassWord=dytd;Data Source=dytd"这步的时候,显示“缺少函数或变量”
    各位朋友快帮忙呀!!!
      

  13.   

    Private Sub CmdQuery_Click()
       Dim rs As New ADODB.Recordset
       Dim cn As New ADODB.Connection
      cn.Open "Provider=OraOLEDB.Oracle.1;Persist Security Info=False;User ID=dytd;PassWord=dytd;Data Source=dytd"
      
    'FindBH是要查找的编号
    Dim FindBH As String
    'Criteria是查询条件
    Dim Criteria As String
    'CurrentBookMark是当前记录指针
    Dim CurrentBookMark As String
    '出现输入框,将输入的内容送到FindBH变量中
    rs.Open "select * from DJ_BGDJ_HBTDSYQSQS " & crieria, cn
    FindBH = InputBox$("请输入要查找的土地登记申请书编号:", "查找")
    '保存当前记录指针到CurrentBookMark变量中
    If rs.BOF And rs.EOF Then
    MsgBox "没有"
    Else
    MsgBox "有"
    End If
    End Sub
    上个问题已经解决,可是为什么出不来我要的结果呢!!!不论我输入的编号是不是有!一律说没有
      

  14.   

    Private Sub CmdQuery_Click()
       Dim rs As New ADODB.Recordset
       Dim cn As New ADODB.Connection
       Dim FindBH As String
       cn.Open "Provider=OraOLEDB.Oracle.1;Persist Security Info=False;User ID=dytd;PassWord=dytd;Data Source=dytd"
      '********************************************************************
      rs.CursorLocation=adUseClient
      FindBH = InputBox$("请输入要查找的土地登记申请书编号:", "查找")
      rs.Open "select * from DJ_BGDJ_HBTDSYQSQS Where 编号= '" & trim(FindBH) & "'",cn
      '********************************************************************
      '帮你搞定了。你再试试,*号内为关键所在
      If rs.BOF And rs.EOF Then
         MsgBox "没有"
      Else
         MsgBox "有" 
      End If
    End Sub朋友帮你搞定,如果还有错就留言给我~!!!
      

  15.   

    up up up up up up up ...!!!
      

  16.   

    大哥运行到
    rs.Open "select * from DJ_BGDJ_HBTDSYQSQS Where 编号= '" & trim(FindBH) & "'",cn
    时说什么“实时问题-2147217900”
    好郁闷呀!怎么回事???:(