在access 里 用sql query  表 a 只有一列  参数是首和尾的id.
 如 vba中传入 首id=1 尾 id =13 
id        
1             
2              
3. 
4
5
6
7
8
9
10
11
12
13 怎么得到要这样的显示格式
1 - 4
5 - 8
9 - 13

解决方案 »

  1.   

    如果没有重复也没有空缺,直接用vba循环生成都可以,肯定是:
    1 - 4
    5 - 8
    ...
    4x-3 - 4x
    4x+1 - n
      

  2.   

    select id & '-' & id+3
    from a
    where a mod 4 =1
      

  3.   


    select rtrim(min(id))+'-'+rtrim(max(id)) from @table
    group by (id-1)/4
      

  4.   


    不好意思,说错了,那列不是id 是 字符串,但是是有规律的.

    F000001
    F000002
    F000003
    F000004
    F000005
    ....
    F000013
      

  5.   

    select min(id)+'-'+max(id) from @table
    group by (cast(right(id,6) as int )-1)/4不好意思,说错了,那列不是id   是   字符串,但是是有规律的.

    F000001
    F000002
    F000003
    F000004
    F000005
    ....
    F000013
    [/Quote]
      

  6.   

    不太对. 报错,说在 cast(right(id,6) as int )-1)/4 这部分缺少operator[/Quote]
      

  7.   

    access不懂 语法可能不一样
      

  8.   

    select min(id)+'-'+max(id) from @table
    group by (convert (int,right(id,6))-1)/4
      

  9.   

    楼上的也不对,说convert没定义