语句adodataset1.Filter :='mid(c,1,1)=1'
但提示错误“参数类型不正确类型,或者不可以在接受的范围之内,或与其它参数冲突”
为什么?不能使用mid函数?有没有哪位高手指点指点,非常感谢!

解决方案 »

  1.   

    是的,access中的,有没有办法?
      

  2.   

    Delphi syntax:property Filter: string;你'mid(c,1,1)=1'这里表示什么呢?
      

  3.   

    Filter support in client datasets 
    Operatoror function Example Supported by other datasets Comment
    Comparisons
    = State = 'CA' Yes
    <> State <> 'CA' Yes
    >= DateEntered >= '1/1/1998' Yes
    <= Total <= 100,000 Yes
    > Percentile > 50 Yes
    < Field1 < Field2 Yes
    BLANK State <> 'CA' or State = BLANK Yes Blank records do not appear unless explicitly included in the filter.
    IS NULL Field1 IS NULL No
    IS NOT NULL Field1 IS NOT NULL No
    Logical operators
    and State = 'CA' and Country = 'US' Yes
    or State = 'CA' or State = 'MA' Yes
    not not (State = 'CA') Yes
    Arithmetic operators
    + Total + 5 > 100 Depends on driver Applies to numbers, strings, or date (time) + number.
    - Field1 - 7 <> 10 Depends on driver Applies to numbers, dates, or date (time) - number.
    * Discount * 100 > 20 Depends on driver Applies to numbers only.
    / Discount > Total / 5 Depends on driver Applies to numbers only.
    String functions
    Upper Upper(Field1) = 'ALWAYS' No
    Lower Lower(Field1 + Field2) = 'josp' No
    Substring Substring(DateFld,8) = '1998'Substring(DateFld,1,3) = 'JAN' No Value goes from position of second argument to end or number of chars in third argument. First char has position 1.
    Trim Trim(Field1 + Field2)Trim(Field1, '-') No Removes third argument from front and back. If no third argument, trims spaces.
    TrimLeft TrimLeft(StringField)TrimLeft(Field1, '$') <> '' No See Trim.
    TrimRight TrimRight(StringField)TrimRight(Field1, '.') <> '' No See Trim.
    DateTime functions
    Year Year(DateField) = 2000 No
    Month Month(DateField) <> 12 No
    Day Day(DateField) = 1 No
    Hour Hour(DateField) < 16 No
    Minute Minute(DateField) = 0 No
    Second Second(DateField) = 30 No
    GetDate GetDate - DateField > 7 No Represents current date and time.
    Date DateField = Date(GetDate) No Returns the date portion of a datetime value.
    Time TimeField > Time(GetDate) No  Returns the time portion of a datetime value.
    Miscellaneous
    Like Memo LIKE '%filters%' No Works like SQL-92 without the ESC clause. When applied to BLOB fields, FilterOptions determines whether case is considered.
    In Day(DateField) in (1,7) No Works like SQL-92. Second argument is a list of values all with the same type.
    * State = 'M*' Yes Wildcard for partial comparisons.
    When applying ranges or filters, the client dataset still stores all of its records in memory. The range or filter merely determines which records are available to controls that navigate or display data from the client dataset.
      

  4.   

    mid(c,1,1)是指从字段c中取第一位出来。postren(小虫)
    那如果函数不支持的话,有没有其它的办法实现?
      

  5.   

    在sql server里面是可以使用Substring,而access好像不行。
    不知道还有没有其它的办法
      

  6.   

    select * from T1 where mid(s, 1, 1) = '1'
      

  7.   

    大致说一下我想实现的功能吧一个grid,一个字段的一行值为111222,第二行可能就是123222,那么我需要过滤第一个字符为1的记录,接下来还需要过滤第二个字符,以此类推,一共需要过滤5位。
    我原来考虑过小虫的sql查询的办法,但我估计查询量大,速度会慢,所以采用filter。不知道有没有好的解决办法
      

  8.   

    老大,,,
    没找到mid函数不要太钻牛角尖