怎样嵌套查询,把其中第一个查询的结果作为另一个查询语句的查询条件。
如 指定列A1
2
3
4
5
6
7
8
9  设置第一个文本框作为另一个查询条件,设置第二个文本框作为行间隔。    如a文本框(输入2)b文本框(行间隔2)
   
   那么,运行时首先查询2,然后继续查询2为开头的第二个行间隔位置的任意数,按上面A段,5就是查询结果。   不知道这样说能不能理解,
  
 我要查3后面的第二个行间隔任意数,按上面A段,查询结果是6  
                                 
    
   

解决方案 »

  1.   


       提示; 查询对像是 MSHFlegrid 中查询,
      

  2.   

    select * from a,(select * from a where ...... ) as b where a.字段=b.字段 select * from  (select * from (select * from a where ...... ) as b where ......) as c 可能我上面写得不对 你那个就 直接用FOR 循环 找不就可以了吗?
      

  3.   

    你的数据 既然已经再 MSHFlegrid 里了 , 那直接用个 FOR 循环 穷举 不就可以了   别告诉我你的 MSHFlegrid 有上万条数据啊 
      

  4.   


      我是说,ACCESS数据库中,只要查一个字段内,不用其他字段了。查询结果在MSHFlexgrid里显示出来。    
      

  5.   

    直接用sql语句可能无法实现,因为access并没有提供获取表中数据所在行位置的函数,同时又不支持游标,无法用游标移动到指定的纪录。用RecordSet对象来实现吧:
    dim rst as  NEW ADODB.RecordSet
    rst.open "Select A From 表 Where A='" & a文本框.TEXT & "'"然后根据行间距移动到指定的数据行
    rst.movenext CInt(b文本框.TEXT+1),adBookCurrent然后将rst显示到MSHFlexgrid里
      

  6.   


       luoyefeng 楼主 为什么出现这里 movenext 出错呢?错误提示为(错误的参数号,或无效的属性赋值)
      

  7.   

    '设定Text1为开始查找位置. Text2为间隔位置 Text3为查找条件  查找字段为 Fild  '表名为表  
    '以下是代码
    dim rst as  NEW ADODB.RecordSet 
    rst.open "Select All From 表 where fild = " & "'" & Text3 & "'"rts.Move cint(Text1)            '移动要查找的位置
    if rts.fild = Text3  '判断是否满足条件
       'Add   如果满足条件,就增加
    end ifdo while not rts.rof  '如果不到文件尾.重复
      for i=1 to cint(text2)  '向下移动 Text2间隔
        if not rts.eof then   '判断是否文件尾
           exit do '结束循环
        end if
       rts.movenext   
      next  if rts.fild = Text3  '判断是否满足条件
         'Add   如果满足条件,就增加
      end if
    loop
      

  8.   

    rst.move CInt(b文本框.TEXT+1),adBookCurrent 
      

  9.   

    写错了,嘿嘿,应该是move。
    movenext是移动到下一条纪录