我正在尝试使用我的字段中的一个模块进行查询,该查询查找培训的频率以及某个员工的到期时间。我有一个表格,其中包含所有员工信息(Workday_Excel_Update)以及培训课程编号,他何时注册以及是否完成。我还有第二张表,其中包含所有培训编号(CourseNumbers)、培训应该完成的月份和频率(以月为单位)。
我在模块中编写了用作字段的代码,但我不断收到以下错误:
“你作为查询参数输入的表达式产生了这个错误:'Microsoft Access 找不到你在表达式中输入的名称'CourseNum'”
dlookup 的原因是为了找到课程编号的相应日期和频率。
CourseNumbers 表具有以下字段: -CourseNumber -CourseName -Frequency(即月-日) -Months(再次需要培训之前的频率)
如果有人能告诉我原因,如果您有解决方案,我将不胜感激。
我的模块查询图像
Function getDueDate(CourseNum As String)
Dim yearCounter As Integer
Dim yearStart As Date
Dim yearNow As Integer
Dim monthFreq As Integer
Dim daysDue As Integer
If Not IsNull(DLookup("[Months]", "CourseNumbers", "CourseNumber = CourseNum")) Then
monthFreq = DLookup("[Months]", "CourseNumbers", "CourseNumber = CourseNum")
yearStart = DLookup("[Frequency]", "CourseNumbers", "CourseNumber = CourseNum")
yearCounter = Year(yearStart)
yearNow = Year(Date)
While yearCounter <= yearNow
yearStart = DateAdd("m", monthFreq, yearStart)
yearCounter = yearCounter + (monthFreq / 12)
Wend
daysDue = DateDiff("d", Date, yearStart)
Else
daysDue = 0
End If
getDueDate = daysDue
End Function