直接去读你的ID域不就完了
GetFieldValue……

解决方案 »

  1.   

    _variant_t theVal=GetCollect(_T("id"));
      

  2.   

    这的确是个问题。各位大侠:
    是指使用SQL语句(INSERT)后再GetFieldValue()?
    不会吧。要是人家根本就没有打开表呢?(只打开数据库再执行INSERT INTO...)
      

  3.   

    你参考一下
    http://www.csdn.net/expert/topic/738/738684.xml
    吧。
      

  4.   

    添加后,这条记录在最后,直接MoveLast()应该可以吧,然后就能得到这条记录的ID了
      

  5.   

    恐怕不能做这样的假设吧。这样写出来的程序Bug肯定不少。
      

  6.   


    lshadow大侠,好象没有哪个数据库的手册说添加的记录一定会在最后吧(虽然实际上都是如此)。我同意yyszh。
      

  7.   

    插入后用下面的语句打开一个记录集试试:
    select top 1 ID from your_table order by ID desc
    当然此时ID应有一个唯一索引,不然速度就慢了。
      

  8.   

    这个问题非常简单,泥任外生成一个RecorderSet类
    只选MAX(ID)为属性就OK
    本人已实现你的想法
      

  9.   

    如果使用的是Sql Server,可以用@@IDENTITY来得到,不知Access中如何实现。
      

  10.   

    washingli 做法合理,安全。
      

  11.   


    washingli的做法实际上就是写入数据后再读出记录集,找出相应ID。而且这个做法与lshadow(光影)有相同的BUG。我想ACCESS应该有自己独特的方法,有空我查一下文档。(我想在插入记录之前就应该可以得到下一条空记录的ID,一定有办法的。)