设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

如何在表中新插入新记录后,获取该记录自动编号字段的值

1970-1-1 08:00| 发布者: 未知| 查看: 2310| 评论: 0

摘自:Access911
原文:http://access911.net/71FAB21E16DC.htm


问题:


请教一个问题,请各位帮忙!!!
    Access数据库中,有“自动编号”类型字段,但在表中新插入新记录后,在编程中
如果取得新插入记录的自动编号的值

 

回答:

我在写登陆界面的时候也遇到同样的问题
我用 insert into 来添加一个新的人员,但是该人员的password字段值是用这条记录的自动编号字段的值+密码 这样的格式来存储的,也就是说我必须先添加,然后用 update 来设置密码,就遇到了和你相同的问题。

我的办法是:在insert into 的同时将你自己生成的一个uid存储在新纪录的 password 里面,在 update 的时候只要找到这段值就可以了。
    以下是我的代码


    DoCmd.SetWarnings False
    Dim strGUID As String
    strGUID = CreateGUID   '建立一个GUID 
    '建立GUID有很多方法,你甚至可以建立一个你自己的GUID:  日期+时间+人员姓名+4位数的随机数字
    Debug.Print strGUID
    DoCmd.RunSQL "INSERT INTO tbl_family ( name, pwd ) SELECT '" & text4.Value & "' AS 表达式1, '" & strGUID & "' AS 表达式2"
    Dim strUID As String
    strUID = Trim(str(DLookup("id", "tbl_family", "name='" & text4.Value & "' and pwd='" & strGUID & "'")))
    DoCmd.RunSQL "UPDATE tbl_family SET tbl_family.pwd = md5('" & strUID & "|" & Text6.Value & "') WHERE tbl_family.id=" & strUID

    DoCmd.SetWarnings True


方法一:

很简单,先取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

原文地址:http://access911.net/71FABF1E17DC.htm

 

最新评论

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

GMT+8, 2025-4-4 05:17 , Processed in 0.095606 second(s), 17 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部