假设我有两个表
1.table1(no, name1)
2.table2(no, name2)在VB中有这样一段代码
dim strsql as string
dim rs as adodb.recordsetstrsql = "select table1.no,table2.no from table1 left join table2 on table1.no = table2.no"
set rs = cnn.execute(strsql)
'cnn为adodb.connection,并假设已经联上sql server
if rs.recordcount > 0 then
    '请问怎么区别返回的rs中的两个字段,字段名都为no,苦恼中...
    rs!no    这样只能放问其中的一个
    rs.fields("no").value    也只能访问其中的一个
    rs.!table1.no    这样是不能记问的
endif
rs.close
set rs = nothing有哪位大侠知道,请告知一声,万分感激!!!

解决方案 »

  1.   

    Select语句是不是应该改改:
      "Select table1.no as no1,table2.no as no2 from table1 left join table2 on table1.no = table2.no"
    在返回的记录集里就可以使用rs!no1,rs!no2来访问数据。希望对你有所帮助。 ^-^
      

  2.   

    楼上正确对字段使用别名就可以了。别名在很多地方都会用到,比如常数字段,计算字段
    常数字段
    Select 1 As YesNo
    计算字段
    Select Max(No) As MaxNo
      

  3.   

    动态生成为什么不能用AS?
    如果不使用别名,就只能用索引了。
    rs(0),rs(1)
      

  4.   

    不能用 as :rs.fields(1).value
      

  5.   

    问题已经解决,多谢位啦最后还是用as来完成的我最初的意思其实是:strsql="select table1.no from table1"
    set rs = cnn.execute(strsql)
    然后,rs当中,到底有没有一个属性,可以知道 no是属于table1的,再在看来,是没有的!!!(end)