gpt4 book ai didi

ms-access - 检索 Access 表的下一个自动编号

转载 作者:行者123 更新时间:2023-12-04 17:27:23 26 4
gpt4 key购买 nike

我在Microsoft Access/JET中有一个表,该表具有递增设置的自动编号字段,该字段用作表的主键。我需要知道下一个插入记录的主键值是多少,但是我需要知道在插入记录之前的值。使用SELECT MAX([ID]) + 1 FROM [TableName];将不起作用,因为通常会从表末尾删除记录。 (插入新记录只是为了找出该值也不是一种选择。)

我知道可以通过使用SHOW TABLE STATUS命令在MySQL中轻松完成此操作。是否有什么可以让我使用ADO,DAO,VB6或任何其他可用工具对Access/JET进行完全相同的操作?

最佳答案

您可以使用ADOX(用于DDL和安全性的Microsoft ADO扩展)来确定自动编号字段的当前“种子”值。

Public Function NextAutonumber(ByVal pTable As String, _
ByVal pAutonumField As String) As Long

Dim cat As Object
Set cat = CreateObject("ADOX.Catalog")
Set cat.ActiveConnection = CurrentProject.Connection
NextAutonumber = cat.Tables(pTable).Columns(pAutonumField).Properties("Seed")
Set cat = Nothing
End Function

请注意,这种方法在多用户情况下可能会产生错误的结果……如果另一个用户可以在检索下一个自动编号与实际执行 INSERT的时间之间潜行 INSERT。如果很关键,可以通过在 SELECT @@Identity之后检查 INSERT来验证是否获得了期望的值。

关于ms-access - 检索 Access 表的下一个自动编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6498221/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com