如何获取主表id,在线等

myjce 2005-10-27 12:07:43
一个主表,一个从表,主表id为自动增长,两表有ID关联,因为在插入从表记录是要用到主表id,那么在插入主表记录后,如何获取刚插入的记录id呢,需考虑并发性,谢谢
...全文
108 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
changechange 2005-10-27
  • 打赏
  • 举报
回复
关于如何得到新增记录的自动编号字段数值方法二


作者:cg1 摘自:access911.net 编辑:cg1 更新日期:2003-1-8 浏览人次:1077

专题地址:
http://access911.net/?kbid;71FABF1E17DC



简述:
本文简述自动编号字段添加数据后的数值如何编程得到


阅读前需掌握:


难度等级:
等级未评定




问题:



关于如何得到新增记录的自动编号字段数值方法二




方法一:


很简单,先取id后update

dim rcd as long
Dim rs As New ADODB.Recordset
rs.Open "表1", CurrentProject.Connection, adOpenDynamic, adLockOptimistic
rs.AddNew
rcd=rs("id")
rs.update
rs.Close

docmd.runsql "update … where id="&str(rcd)









方法二:




必须 jet oledb 4 支持
Private Sub AutoIncTest()
Dim cnn As ADODB.Connection
'Dim cmd As ADODB.Command
Dim rst As ADODB.Recordset
Set cnn = CurrentProject.Connection
'Set cmd = New ADODB.Command
'Set cmd.ActiveConnection = cnn
'cmd.CommandType = adCmdText
'cmd.CommandText = "INSERT INTO tblNewOrder2 " & _
"(ItemId, Quantity) VALUES (1, 20)"
'cmd.Execute
'Set cmd = Nothing
cnn.execute "insert into tblneworder2 (item) values ('dd')"
Set rst = New ADODB.Recordset
rst.Open "SELECT @@IDENTITY AS LastOrderId", _
cnn,
Options:=adCmdText
Debug.Print "OrderId for new record = " & _
rst("LastOrderId")
rst.Close
Set rst = Nothing
End Sub









适用环境:
Access 2000 以上


关键字:
自动编号,新增 >>>




相关文章
没有手动相关文章
自动编号如果递增到的最大数后会怎么样?什么是同步复制ID?
自动编号的字段在删除记录后编号不连续
误删除了某条含有自动编号字段的记录?怎么恢复?
如何定义自动编号字段的初始值和步进值?

评论
没有相关评论
查看或发表更多的评论,请单击这里。

changechange 2005-10-27
  • 打赏
  • 举报
回复
关于此主题请参考:
《表》关于如何得到新增记录的自动编号字段数值方法二
http://access911.net/index.asp?u1=a&u2=71FABF1E17DC

7,732

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧