为新的一年重新启动访问数据库中的顺序编号



我有一个跟踪项目的简单访问数据库。有一个SLR项目编号列,我已经设置为自动递增。然而,我希望它在年份变化时重新编号为1。我发现了几个不同的讨论,并试图修改代码以适应我的数据库,但我不断收到错误消息。我的表单中有链接到Start_Date和newLogNum基础表的字段。我在表格中添加了一个按钮,用这个代码生成一个新的数字,我在另一个论坛上找到了这个代码,并对其进行了修改,以匹配我的表和字段名称:

Private Sub cmdNewLogNum_Click()
      If IsNull(Me.txtStart_Date) Then
       MsgBox "Enter Date to generate number", vbOKOnly
       Me.txtStart_Date.SetFocus
Else
     Me.txtnewLogNum = Nz(DMax("[newLogNum]", "tblSLRTasks", "Year([Start_Date]) = " & Year(Me.[txtStart_Date])), 0) + 1
   End If
End Sub

当我尝试运行此程序时,我首先收到一条错误消息,上面写着"Compile error:Expected enf of statement",它指示了我的消息框代码中的第二个单词。因此,我尝试删除msgbox中引号中除一个单词外的所有单词,然后我得到一个编译错误,说Sub或Function不是为在criteria语句中首次使用"Year"而定义的。有人能帮我修复这行代码吗?谢谢

大多数编程语言都需要像以下这样的双引号:"。你似乎有印刷引号:"。Microsoft Access将需要第一种双引号。

排除Access本机函数(VBA本机函数)故障的下一步通常是在即时窗口中逐个运行它们。首先评估Year([Start_Date])。接下来,评估DMax("[newLogNum]", "tblSLRTasks", "Year([Start_Date])等。

最新更新