在table中我想按字段的前三位进行过滤我设filter:=copy(字段,1,3)出来的结果是 can't find field copy!! 我该怎么办?50分

解决方案 »

  1.   

    例如 :有表A,一个B,要对B的前3个字符进行排序用SQL语句
    select * from A
    order by substring(B,1,3)
      

  2.   

    不能用语句,只能用filter,我想到了计算字段但不太熟刚接触delphi不久,以前一直用C,C++,VC,正所谓各有所长,有什需要我帮忙的我一定会尽一切努力
    同是天涯程序员
      

  3.   

    其实在Filter中用, 是可以用sql的语法而不是delphi的。所以, 你应该可以试试substring我没有试,
      

  4.   

    Table1:Field 'substring' not found
      

  5.   

    为什么不能用语句,我不知道还有什么方法比SQL的语句效率高!
    用计算字段,在Query加一个字段选择计算字段就可以了,但我觉得和你的问题没有什么关系!
      

  6.   

    left(字段,3) 或者 leftstr(字段)
      

  7.   

    例如 :有表A,一个B,要对B的前3个字符进行排序用SQL语句
    应该用Query控件
    with query1 do
    begin
      close;
      sql.clear;
      sql.add('select * from A');
      sql.add('order by substring(B,1,3)');
      Open;
    end;
    怎么会不可以呢?
      

  8.   


    情况特殊,唉实在没法,
    只能用sql了