楼主的问题暂时无法回答,不过另外有个问题:
sql语句改为"select * from 酒店 where 省份='" + Text3.Text + "' and 酒店名称='" + Text4.Text + "' and 星级='" + Text5.Text + "'"

解决方案 »

  1.   

    同意
    但最好是:
    "select * from 酒店 where 省份='" & Text3.Text & "' and 酒店名称='" & Text4.Text & "' and 星级='" & Text5.Text & "'"
      

  2.   

    是没有报错误,但是没有查找成功。直接弹出窗口
    修改后的程序:
        Dim Dbmy As Database
        Dim Rsmy As Recordset
        Dim Spath As String
        
        Spath = App.Path + "\" + "db2.mdb"
        Set Dbmy = OpenDatabase(Spath, False, True)
        Set Rsmy = Dbmy.OpenRecordset("select * from 酒店 where 省份='" + Text3.Text + "' and 酒店名称='" + Text4.Text + "' and 星级='" + Text5.Text + "'", dbOpenDynaset)
        If Rsmy.EOF = True Then
            MsgBox ("没有这样的酒店")
        Else
           Text1.Text = Rsmy.Fields(0)
           Text2.Text = Rsmy.Fields(1)
           MsgBox ("查找成功")
        End If
        Rsmy.Close
        Dbmy.Close
        
    每次都查找不到。
      

  3.   

    肯定有的了。满足条件的。
      我从数据库中copy出一个酒店名字,然后放如text4,但是就是没有记录可以查找到。
      

  4.   

    找到错误。
    :Set Rsmy = Dbmy.OpenRecordset("select 酒店 from 酒店 where 省份='" + Text3.Text + "' and 酒店名称='" + Text4.Text + "' and 星级='" + Text5.Text + "'", dbOpenDynaset)
      

  5.   

    错了错了。说错了。
    还是不行!
    Set  Rsmy  =  Dbmy.OpenRecordset(  "select  *  from  酒店  where  省份='  "  +  Text3.Text  +    "'  and  酒店名称='  "  +  Text4.Text  +    "'  and  星级='  "  +  Text5.Text  +    "'  ",  dbOpenDynaset) 是不是表的名字也要加引号哦?
      

  6.   

    Dim Dbmy As Database
        Dim Rsmy As ADO.Recordset
        DIM CMD AS ADO.COMMAND
        Dim Spath As String
        DIM SQL AS STRING
        
        Spath = App.Path + "\" + "db2.mdb"
        Set Dbmy = OpenDatabase(Spath, False, True)    SQL="SELECT * FROM HOTEL WHERE PROVINCE="
        SQL=SQL & "'"& TRIM(TEXT3.TEXT) &"'" & " AND "
        SQL=SQL & "HOTELNAME="
        SQL=SQL & "'"& TRIM(TEXT4.TEXT) &"'" & " AND "
        SQL=SQL & "LEVEL="
        SQL=SQL & "'"& TRIM(TEXT5.TEXT) &"'"
        MSGBOX SQL '调试SQL语句用
        '********未必要加,不知道你的全部代码,ADO?****
        'With Cmd
        '    .ActiveConnection = Dbmy 
        '    .CommandTimeout = 0
        '    .CommandText = Sql
        'End With
        '************************************************
        Set Rsmy = Dbmy.OpenRecordset(SQL, dbOpenDynaset)
        If NOT Rsmy.EOF  Then
            MsgBox "成功",,"信息"
            IF ISNULL(RS.FIELDS("TEXT1要显示的字段名"))=FALSE THEN
               Text1.Text = Rsmy.RS.FIELDS("TEXT1要显示的字段名")
            END IF
            IF ISNULL(RS.FIELDS("TEXT2要显示的字段名"))=FALSE THEN
               Text1.Text = Rsmy.RS.FIELDS("TEXT2要显示的字段名")
            END IF
        Else
           MsgBox "查找失败!",,"信息"
        End If    Rsmy.Close
        Dbmy.Close
      

  7.   

    关键是你的
    Text1.Text = Rsmy.Fields(0)
    Text2.Text = Rsmy.Fields(1)这样的话怎么行??
      

  8.   

    Private Sub Command1_Click()    Dim Dbmy As Database
        Dim Rsmy As Recordset
        Dim Spath As String
        Dim Sql As String
        
        Spath = App.Path + "\" + "db2.mdb"
        
        Set Dbmy = OpenDatabase(Spath, False, True)
        
        Sql = "SELECT * FROM 酒店 WHERE 省份="
        Sql = Sql & "'" & Trim(Text3.Text) & "'" & " AND "
        Sql = Sql & "酒店名称="
        Sql = Sql & "'" & Trim(Text4.Text) & "'" & " AND "
        Sql = Sql & "星级="
        Sql = Sql & "'" & Trim(Text5.Text) & "'"
        
        MsgBox Sql
        Set Rsmy = Dbmy.OpenRecordset(Sql, dbOpenDynaset)
        
        If Rsmy.EOF = True Then
            MsgBox ("没有这样的酒店")
        Else
           Text1.Text = "" + Trim(Rsmy.Fields(""))
           Text2.Text = "" + Trim(Rsmy.Fields(1))
           MsgBox ("查找成功")
        End If
        
        Rsmy.Close
        Dbmy.Close
        
    End Sub
    运行还是老错误。没有查找到结果。晕死了。
      

  9.   

    试试:
    If Rsmy.EOF and rsmy.bof Then
            MsgBox ("没有这样的酒店")
        Else
      

  10.   

    你的这个地方错了,明白没有????????????????!!!!!!!Text1.Text = "" + Trim(Rsmy.Fields(""))
    Text2.Text = "" + Trim(Rsmy.Fields(1))
    *****以上两行错了!!!!!!!!!*****应该
    IF ISNULL(RS.FIELDS("TEXT1要显示的字段名"))=FALSE THEN
               Text1.Text = Rsmy.RS.FIELDS("TEXT1要显示的字段名")
            END IF
            IF ISNULL(RS.FIELDS("TEXT2要显示的字段名"))=FALSE THEN
               Text1.Text = Rsmy.RS.FIELDS("TEXT2要显示的字段名")
            END IF