在Access数据库中,有一个名为“Demande”的表。我想读取“Numero de Commande”列中的所有记录,并读取该列中最大的数字,以便可以将该数字用于下一个新记录。

所以这是我的桌子:

关键索引适用于Numero de Commande。

这是我的当前代码:

 Dim highestInt as Integer
 Dim newNumeroCommande as Integer

 Set currentDatabase = CurrentDb
 Set rstDemande = currentDatabase.OpenRecordset("Demande")

 ' Find the highest integer in the column "Numero de Commande"

 newNumeroCommande = highestInt + 1
 rstDemande.AddNew
 rstDemande("Numero de Commande").Value = newNumeroCommande
 rstDemande.Update

多谢您的协助。

最佳答案

只要该列仅包含不带字母的数字值,则可以使用:

NewNumeroCommande = Dmax("[Numero de Commande]", "Demande") + 1

注意:这不是我推荐的方法,而只是Access的内置选项,如果可能的话,您可以使用自动编号功能来避免麻烦,或者可以使用单独的“计数器”表来记录最高的记录号,当您希望创建另一个表,则可以锁定该表,将值增加一个(然后使用此表),然后释放该锁定,这在多用户环境中会更有效。

09-04 15:40