注册 登录
Office中国论坛/Access中国论坛 返回首页

ganlinlao的个人空间 http://www.office-cn.net/?230471 [收藏] [复制] [分享] [RSS]

日志

Access的@@identity用法

热度 1已有 2392 次阅读2016-1-8 21:06 |个人分类:access入门

这是一段鲜为人知的故事。
@@IDENTITY 变量
 @@IDENTITY 变量是一个全局的SQL变量,用户可以用它来提取使用(自动编号)数据类型的列的最后使用值。用户在提取@@IDENTITY 变量时,不能指定表的名称。返回值总是最近的通过代码插入了数据的表的自动编号ID。(如果vba插入表1数据,那么@@IDENTITY返回表1最后的ID,如果同时插入表1,表2数据,那么返回表2(后插入数据)的最后的ID)
 
SELECT @@IDENTITY
要给@@IDENTITY 值加上某个值,要将该变量用方括号括起来。
 
SELECT [@@IDENTITY] + 1
注意 上面SQL 语句中的@@IDENTITY变量只能通过Jet OLE DB provider (或ace)和 ADO执行提取,通过Access SQL View 用户界面提取的值将是0,另外,该值只有在通过代码插入记录时才会改变,如果通过用户接口,不管是数据表单、窗体还是Access SQL View窗口中的SQL语句, @@IDENTITY返回值都是0。因此, @@IDENTITY 的值只有在刚刚通过代码加入了记录是才是准确的。

         需要注意的是获取自动编号的命令和插入记录的命令必须是在同一次打开数据库连接时执行否则Select @@Identity 返回为0。也就是说它们必须是在同一个Connection之中。


例子代码下载

发表评论 评论 (1 个评论)

回复 tmtony 2016-1-9 13:10
不错的知识,赞一个

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-5 02:35 , Processed in 0.050284 second(s), 18 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部