刚接到任务,做一个查询,我想知道有没有这个语句能够  查询 一个表里面 的任意字段的满足条件任意值,并切把所有满足的条件的值打印到没有连接到ADO的DATAGRID 里面呢.
下面是我写的 希望能够 让您更清楚我的意思.
Private Sub Form_Load()
Dim sql As String '定义一个变量来代表SQL语句
Set db = OpenDatabase("E:\mms2\mmsdb.mdb", False, True) '打开数据库
End SubPublic db As Database
Public rs As Recordset
Dim strsql As String
Dim strfield As String '存放输入的字节Private Sub Command1_Click() 
strfield = strfield + Text1.Text  '得到需要搜索的关键字
sql = "SELECT * FROM custerm where like + " & strfield 'SQL语句,打开price表中所有字段,并以ID号排序
Set rs = db.OpenRecordset(sql, dbOpenDynaset) '执行上面一条SQL语句If rs.EOF Then
   rs.MoveFirst
Else
     for i=1 to 8    
         Debug.Print rs(i) '打印数据
     next i
   rs.MoveNext
End IfEnd Sub

解决方案 »

  1.   

    sql = "SELECT * FROM custerm where UseeName like + '" & strfield  & "'"
      

  2.   

    不过有个感觉我怎么觉得我这查询得到的结果只有一条呢? 能有那个大GG 能告诉偶,那个查询的会把表全部搜索一次,并且全部打印出来吗>
      

  3.   

    楼上的大哥,那个USEENAME 是什么意思呢?  条件还是数据库默认的查询所有结果的 一个... 命令?
      

  4.   

    更正下sql = "SELECT * FROM custerm where like + " & strfield 'SQL语句,打开price表中所有字段,并以ID
    应该是:sql = "SELECT * FROM custerm where like + " & strfield 'SQL语句,打开custerm表中所有字段,并以ID
      

  5.   

    得到以ID号排序的所有记录:sql = "SELECT * FROM custerm Order By [ID]
    得到某个ID的记录:假设你的ID字段是数值型(float、Int、BigInt、SmallInt等类型)
    sql = "SELECT * FROM custerm where [ID] ="  & strfield 如果ID是文本类型,数值需要用两个单引号括起来:
    sql = "SELECT * FROM custerm where [ID] =' " & strfield  & "'"
      

  6.   

    那个 排序的 貌是 可以用 : sql="select * from custerm order by id "就可以了. 哦上面有.
    那这个查询出来的结果 怎么才能把 查到的所有满足条件的 行全部打印出来呢
      

  7.   

    是这样的  如果 今天是2006-3-10 那么我需要把公司里所有今天过生日的员工查找出来. 这个语句怎么写,.....另外不仅仅是生日,或者找都是男,或者 都是某个地区的.或者是有汽车的.意思就是,利用一个TEXT框得到,需要查找的关键字,然后 再搜索满足条件的,所有行,并且把打印出来.
    Set rs = db.OpenRecordset(sql, dbOpenDynaset) '执行上面一条SQL语句If rs.EOF Then
       rs.MoveFirst
    Else
         for i=1 to 8    
             Debug.Print rs(i) '打印数据
         next i
       rs.MoveNext
    End If
    这段代码能打印出所有满足条件的行吗?
      

  8.   

    Set DataGrid1.DataSource = rs
    还有为什么这句我怎么也不能正常运行! 为找到方法或数据错误
      

  9.   

    Set DataGrid1.DataSource = rs
    ---------------------------------
    你的rs是DAO类型的,而dataGrid是与ADO绑定了建议:查询和显示都用ADO来做
      

  10.   

    你的rs是DAO类型的,而dataGrid需要与ADO绑定来显示数据
      

  11.   

    还有个问题 
    Private Sub Command1_Click() 
    strfield = strfield + Text1.Text  '得到需要搜索的关键字
    sql = "SELECT * FROM custerm where like + " & strfield 'SQL语句,打开price表中所有字段,并以ID号排序
    Set rs = db.OpenRecordset(sql, dbOpenDynaset) '执行上面一条SQL语句If rs.EOF Then
       rs.MoveFirst
    Else
         for i=1 to 8    
             Debug.Print rs(i) '打印数据
         next i
       rs.MoveNext
    End IfEnd Sub为什么这段代码就只能执行一次呢 下次就没用了?
      

  12.   

    for i=1 to 8    
             Debug.Print rs(i) '打印数据
             rs.MoveNext
          next i
      

  13.   

    debug.print rs(i)
    打印要注意打印的地方.