我有一个ACCESS数据库,在表TAB中有一个字段a是文本型,其构成为
a
sx1
sx2
sx3
...
sx9在VB中取得最大值用的是 select max(a) from tab
但是这个值每次都是sx9
我想要的结果是sx10,sx11,sx12...
请问各位大哥有没有更好的办法.

解决方案 »

  1.   

    不好意思,没有写清楚.
    其实就是想用一个简单的办法一下就知道sx9的下一个是sx10.
    注意:每次都是自增1.
      

  2.   

    SELECT temp1.tt1 + CStr(tt2) AS 表达式1
    FROM [SELECT 'sx'as tt1, max(int(right(a,len(a)-2))) AS tt2
    FROM test]. AS temp1;ACCESS用起来就是别扭
      

  3.   

    DengXingJie(杰西) 的方法不错:)
    如果楼主这个字段是一个编码的话,也可以干脆改变一下编码规则
    比如改成
    sx001
    sx002
    ...
    sx999
    这样直接用max就可以了
      

  4.   

    用ACCESS时,尽量设置一个容易编队且容易查询的编号
      

  5.   

    select max(substring(a,3,3)) + 1 from ...