我需要在MS access中定义一个自定义的工作周



我正试图在表单上创建一个自定义函数来定义周数。

我已经创建了一个表来定义周数。

示例WeekNo、StartDay、End Day示例:第1周开始日期=2020年3月29日,结束日期:2020年4月4日

如果我输入的日期是2020年3月29日,我的表格上会有一个日期框我希望在我的周数框中填充1。

在我的行源中的表单上,我设计了一个Dlookup查询

=DLookup("[WeekNumber]"、"tblWeekNumber"、"[Startdate]>="&frmSearchNew.dt_Date&"(&[EndDate]<=frmSearchNew.dt日期

当我从视图更改为时,我得到错误,此表单上指定的记录源不存在。tblWeekNumber表包含字段ID、WeekNo、StartDay和EndDay。

我哪里错了?任何帮助都将不胜感激。

您整理的DLookup有很多问题。

  1. 首先,您要查找的字段和用作条件的字段似乎与表中的字段不匹配-WeekNumber/WekNo、StartDate/StartDay、EndDate/EndDay
  2. 接下来,查找的逻辑是错误的。您正在尝试查找开始日期大于输入日期,结束日期小于输入日期的周数。您应该查找输入日期之前的开始日期和输入日期之后的结束日期
  3. 最后,Access中的约会有点有趣。你需要用"#"来包装它们,这样Access就知道它们是日期,你也应该注意消除它们的歧义-2020年4月3日可能是4月3号,也可能是3月4日,这取决于你的国籍

把所有这些放在一起,最终的控制源应该看起来像:

=DLookUp("WeekNo","tblWeekNumber","StartDay<=#" & Format([dt_Date],"dd-mmm-yyyy") & "# AND EndDay>=#" & Format([dt_Date],"dd-mmm-yy") & "#")

问候,

相关内容

最新更新