我想用locate查找符合条件的多条记录,可以吗,代码如何写?

解决方案 »

  1.   

    这个问题不幼稚,用Locate只能定位到符合条件的第一条记录,用下面方法代替试试:
    1.只显示过滤出来的符合条件的记录
      ADOQuery1.Filtered := False;
      ADOQuery1.Filtere := 'sName=''电视机''';
      ADOQuery1.Filtered := True;
    2.如Locate方法,每次可找符合条件的下一个记录
      ADOQuery1.Filtered := False;
      ADOQuery1.Filtere := 'sName=''电视机''';
      if ADOQuery1.FindNext then ADOQuery1.FindNext;
      这里不用Filtered := True来过滤
    在这个公司不搞数据库了,想是这样写的,你测试一下
      

  2.   

    iF ADOquery2.Locate('变电所名称',ADOquery1.Fieldbyname('变电所名称').asstring,[loPartialKey]) then
    只可查找出一条,问题是adoquery1中有多条符合,我想让它们都 显示在memo的lines中
    怎 么办,
      

  3.   

    我知道用SQL好,可是我这里因需要,有时要定位,有时要找多条记录,所以才问的,高手赐教呀
      

  4.   

    设置两个接钮,用两种方法,不就OK了!
    一种用SQL语句查找所有符合条件的记录;一种用locate,定位符合条件的记录.
      

  5.   

    ADOquery2.Locate('变电所名称;变电所编码',vararryof(ADOquery1.Fieldbyname(['变电所名称').asstring,'ksajdf']),[loPartialKey])
      

  6.   

    唉上面写错了ADOquery2.Locate('变电所名称;变电所编码',vararryof([ADOquery1.Fieldbyname('变电所名称').asstring,'ksajdf']),[loPartialKey])
      

  7.   

    用weizi2000(秋风啊)的,或者用SQL,都很好
    没必要在Locate上钻牛角