access数据库中,有一个自动编号的ID字段,用Insert into **
插入语句后,怎么得到这个ID字段的值?
----------------------------------------
比如:
 表结构  表名 custom
   ID  :  自动编号
   Code:    文字
   Name:   文字用Insert into custom(code,name) values('''+icode+''','''+iname+''')后,
怎么得到ID的值.

解决方案 »

  1.   

    SELECT MAX(ID) FROM Custom
      

  2.   

    在表中增加一个字段,类似GUID那种的,再根据那个字段取一下值
      

  3.   

    select max(id) from custom
      

  4.   

    select max(id) '最大编号' form customstr:= adoquery1.fieldbyname('最大编号').asstring;
      

  5.   

    select max(id) '最大编号' form customstr:= adoquery1.fieldbyname('最大编号').asstring;
      

  6.   

    还不如
    with adoquery1 do
    begin
      append;
      fieldbyname('a').asstring := 'abc';
      post;
      showmessage(inttostr(fieldbyname('a').asstring));
    end;
      

  7.   

    开始事务
    Insert into custom(code,name) values('''+icode+''','''+iname+'''),
    然后取得最大值提交事务这样防止,别人也在操作,防止取得值与你的值不一致。
      

  8.   

    insert insto custom(code,name)values('''+icode+''','''+iname+''') selecet @identidy as t