在MS Access中插入SQL后,在消息框中引用新创建的id

时间:2017-01-16 13:55:59

标签: sql-server vba ms-access-2010

我在MS Access中有一个VBA脚本,它根据表单上的一些输入将新记录插入到SQL Server表中。


Private Sub Allocate_Click()
    Dim strSQL As String
    strSQL = "INSERT INTO dbo_ALLOCATIONS " _
    & "([Employee No],[Device Serial Number],[Start Date]) VALUES " _
    & "('" & Me.EmployeeNumber & "', '" & Me.SerialNumber & "', '" & Me.StartDate & "')"
    CurrentDb.Execute strSQL, dbFailOnError
    Dim ReceiptNo As dao.Recordset
    Set ReceiptNo = CurrentDb.OpenRecordset("select @@identity")
    MsgBox "Device Successfully Allocated. Receipt ID is " & CurrentDb.OpenRecordset("select @@identity")
End Sub

最后,我查询插入期间自动递增的ID。我想在消息框中引用它,以便用户可以在其他地方使用它。我怎样才能在MsgBox命令中引用它?我现在所遇到的问题导致很多问题我无法合并这个命令,而且当只使用'ReceiptNo'时它表示它不是一个字符串。

2 个答案:

答案 0 :(得分:2)

记录集中应该只有一个结果。尝试将最后一行更改为:

./redis-server /path/to/redis-stable/redis.conf

答案 1 :(得分:0)

无法打印整个记录集。您需要引用要打印的列,并在未到达文件末尾时循环记录集。然后将列输出为字符串。我没试过它。

While not ReceiptNo.EOF
    Msgbox Str(ReceiptNo!Identity)
    ReceiptNo.moveNext
Wend