rst为数据集,当执行完rst.movenext后,rst!字段名 值没有变化,而rst.Fields ("字段名").Value 是变化的。请问是什么原因?

解决方案 »

  1.   

    rst.Fields ("字段名").Value 这样写是正确的写法
      

  2.   

    为什么同事机子上写成rst!字段名,就没问题呢?
      

  3.   

    用rst(字段索引)或rst("字段名")就可以了。
      

  4.   

    rst!字段名在我的机子上没有问题,看你的操作系统以及数据库是否有差别。
      

  5.   

    rst!FD_Name
    是可以的,标准写法。
      

  6.   

    记得以前用DAO时常写成rst!字段名,后来用ADO后就就常用rst(index)为什么这样也没有注意过。
      

  7.   

    我用ADO对象的记录集也是习惯 rst!FD_Name的,楼主是不是你的数据库里面有重复记录啊?所以误导你认为没有变化?
      

  8.   

    标准的用法就是recordset.field("field_name").value或者recordset.field(field_index).value
    其他不做保证.
    楼主如果非要纠结于茴香豆的写法,那就没意思了.
      

  9.   


    lz可能弄错了,好好再测试一下
    rst!字段名  是一种正确的使用方法(虽然我不喜欢这样的语法)可能是,你测试的时候,rst.movenext尚未执行
    可能是,rst.movenext前后,前后记录的该字段值恰好相同仔细再测试一下,保证没有问题滴
      

  10.   

    首先字段值是有变化的,要是rst.movenext没有执行,为什么rst.Fields("字段名").Value值有变化呢。我打算在本机上再试一下,是不是和虚拟机的环境有关呢?
      

  11.   

    那你在代码中添加debug.print rst.Fields ("字段名").Value ,rst!字段名看看出来的值是否一样?