比如 select sum(列名1) from table where 列名2='中国'
如果我不知道 "列名1"和"列名2",以上select写起来就麻烦了。
所以我想问一下是否可以直接通过序号来写?比如col(1)就表示第一列。我目前的笨方法是先得到列1,列2的列名,然后重写查询SQL语句,在VB里大概这样写
先rst=query("select * from tabel")'query是定义的ADO 查询语句
列名1=rst.fields(0).name
列名2=rst.fields(1).name
然后再rst=query("select sum(" & 列名1 & ")" & " from tabel where " & 列名2 & "='中国'"
)这样实现起来显然太罗嗦了,所以有了我一开始的疑问,不知道有没有直接的方法啊?

解决方案 »

  1.   

    就是使用你的"比较笨"的办法.
    我的做法是建立数据字典,从数据字典中去取可以设置并取已经设置的列,然后去组合成SQL字符串
      

  2.   

    我有这样特殊的要求是因为我要通过VB访问大量Excel文件,大概有几万个,
    而这些Excel文件通过VB 的 ado访问后我一般不知道具体列名,只知道需要第几列的数据
      

  3.   

    8楼的,如果可以的写个select 语句啊,我不知道怎么写,难道可以这样
    select sum(col(0)) from table where col(1)='中国'