我这样做:
With rs
.AddNew ' create a new record
' add values to each field in the record
.Fields("datapath") = dpath
.Fields("analysistime") = atime
.Fields("reporttime") = rtime
.Fields("lastcalib") = lcalib
.Fields("analystname") = aname
.Fields("reportname") = rname
.Fields("batchstate") = bstate
.Fields("instrument") = instrument
.Update ' stores the new record
End With
' get the last id
Set rs = cn.Execute("SELECT SCOPE_IDENTITY()", , adCmdText)
这不能正常工作。它返回NULL
答案 0 :(得分:3)
它不起作用,因为您的更新和第二次执行位于不同的范围内。 您可能需要SELECT IDENT_CURRENT('tablename')
答案 1 :(得分:1)
IDENT_CURRENT适用于单个用户环境。
您在更新时已经记录在案。
.Update
lTheNewID = .Fields("ThisTableID")
lTheNewID将保留新记录的价值。