在表单中生成客户ID

时间:2013-11-24 15:47:57

标签: forms ms-access

我有一个客户表'tblCustomer',其中包含一个名为CustID的主键列。 CustID将客户称为他们自己的ID号。

现在,我正在创建一个允许人们添加新客户的表单。为此,我需要生成一个新的CustID。我的CustID从'10000'开始,每次上升1。请务必注意,此字段是文本字段,而不是数字字段。

必须有ID,否则无法创建记录,因为主键字段是必填字段,并且还与数据库中的其他关系相关联。

因此,我在表单上的ID字段旁边创建一个按钮,该按钮将在文本框中生成ID。它需要从custID的最高键值开始,并将其递增1.问题是它是一个文本字段,不能更改。

我个人不确定如何做到这一点。我已经解决了很多方面,但都把我带回了同一个地方 - 我不知道如何使用custID作为文本值而不是数值。我一直在考虑进行某种转换,因为计算发生但我根本不知道如何做到这一点。

我是Access的新手,所以任何帮助都会受到赞赏!

1 个答案:

答案 0 :(得分:0)

假设所有CustID都是数字,您可以执行以下操作来获取新ID:

Dim strMax As String
Dim intMax As Integer

strMax = DMax("CustID", "<your table name>")
intMax = CInt(strMax) + 1

strMax将保持当前的最大ID,而intMax将保留新的ID。如果strMax包含非数字值,但此代码将失败 - 您需要一个错误处理程序来解决它。

只需要将它放在按钮点击事件中。

希望这有帮助!

西蒙