Microsoft Access

时间:2016-04-08 19:22:29

标签: sql ms-access access-vba

我想在Access中创建固定的字母加上随机数表。

示例:

Q116-001
Q116-002

Q116由用户添加,我需要001002由程序生成。

我怎么能实现这个目标?

1 个答案:

答案 0 :(得分:1)

这就是我要做的......在表级别有一个student_code,它与Student_ID(主键/自动编号)不同。 student_code可以是string并且是必需的,没有重复项。

在表单级别:

   Dim DB As Database
   Dim RS As Recordset
   Dim var2 As String
   Dim var1 As String
   Dim var3 As String


   var1 = Left(Me.Student_code, 2) 'this will be the Q106 that the user inputs

   var2 = "SELECT count(*) AS CountStudent " & _
          "FROM Students " & _
          "WHERE left(Suppliers.[Student_code],2)='" & var1 & "';"

   Set DB = CurrentDb
   Set RS = DB.OpenRecordset(var2, dbOpenDynaset)
   var3 = RS!CountSupplier + 1
   Me.Student_Code = UCase(var1) & Format(var3, "000")

这可以在表格上完成,可以在lose_focus上进行,这样他们就可以输入第一部分,然后当他们离开时,代码会检查你的表并添加下一个数字。但是用户可能不一定记得Q106部分,因此您需要确保可能会对此进行监控?