最近做了一个用ADODAT 联接ACCESS数据库,datagrid显示的小程序,在做查询功能时遇到了问题!
我想在数据库中查找符合text1,text2,text3中输入数据,text1对应字段"机号",text2对应字段"回路",text1对应字段"地址",这三个字段是主键,查找到相同记录后,数据指针指向该记录,请高手指教!

解决方案 »

  1.   

    ADODAT 這個是什麽?
    me.Adodc1.RecordSource ="Select * From TableName Where 机号='"& text1.text &"' And 回路='"& text2.text &"' And 地址='"& text3.text &"'"
    me.Adodc1.refresh
      

  2.   

    为什么vb的查询代码中出现from子句语法错误,refresh失败?!
      

  3.   

    mustudent(小生--蚕豆)的没错,楼主看下自己的写错了没
      

  4.   

    mustudent(小生--蚕豆)的代码中的 &号左右两边要注意 都要有空格,不然VB不能识别的
      

  5.   

    TableName 要對應查詢的表名哦
      

  6.   

    我把我的这一部分程序贴出来,请大家帮忙看一下!
    '//查找
    Private Sub Command8_Click()
        BM = Adodc1.Recordset.Book
        If Text1.Text = "" Then
            Text1.SetFocus          '获取焦点
            MsgBox "请输入要查找的记录!"
            GoTo cz_end
            Text1.SetFocus
        End If
        If Text2.Text = "" Then
            Text2.SetFocus          '获取焦点
            MsgBox "请输入要查找的记录!"
            GoTo cz_end
            Text1.SetFocus
        End If
        If Combo6.Text <> "" Or Text1.Text <> "" Or Text2.Text <> "" Then
            Call QJSJ_cz
        If BZ1 = 1 Then
            MsgBox "没有找到相同的记录!", , "查找信息"
            Adodc1.Recordset.Book = BM
        Else
            Call QJSJ_DR
        End If
    cz_end:
        End If
    End Sub'//查找子程序      SQL查询
    Private Sub QJSJ_cz()
        Adodc1.RecordSource = "SELECT * From 器件数据 WHERE 机号='" & Combo6.Text & "' And 回路='" & Text1.Text & "' And 地址='" & Text2.Text & "'"
        Adodc1.Refresh
    End Sub再一个请问一下,如果没有查到相同的记录,该从哪儿判断,我程序中的BZ1是一个标志,原先用FIND方法时用的.
      

  7.   

    那些条件得加Trim()函数.你三个都是主键?是一个表吗?如果是一个表为什么要三个判断呢?不符合关系数据库的第二范式呀;一个表只能有一个主键,其它的只是从属的呀