0

有没有办法将下面的 Excel 公式转换为 Access 中的查询/标准?

L2 = Date
J2 = Another Date
Z1 = Todays Date

我认为它正在计算两个日期之间的天数,但不确定如何在 Access 查询中执行此操作。

IF((AND((L2<1),(J2>1))),(NETWORKDAYS(J2,$Z$1)-1),0)
4

3 回答 3

1

正如您现在可能已经收集到的那样,这个问题并没有真正的意义。NETWORKDAYS确实计算了两个日期之间的“整个工作日,不包括周末和假日中确定的任何日期”的数量(这里是任何日期J2,无论是 'Today'/ Z1),IF并使该计算取决于AND函数的结果为 TRUE。如果“日期”在1900 年 1 月 1 日之前且日期在 1900 年 1 月1 日之后,则AND函数结果为 TRUE (因为对于 Excel 1/1/1900 是涉及日期的日期 [除非有人选择1904 年日期系统])。L2J21

但 Excel 无法识别第 1 天之前的日期,无论是负数还是十进制数。例如,第 1.5 天是 1900 年 1 月 1 日的中午,而在相同的格式中,第 0.5 天显示为 0/1/1900。

因此,从本质上讲,L2这不是该公式真正使用的日期,因此我相信为什么您的问题还没有答案。但这太长了,无法放在评论中,因此我的回答是:“不。”!

于 2012-11-08T16:15:48.037 回答
0

设置对 Excel 的引用。

Option Compare Database

Private Sub Command2_Click()
    MsgBox GetNetWorkDays(#1/29/2017#, #2/8/2017#)
End Sub

Function GetNetWorkDays(startDate As Date, endDate As Date) As Integer
GetNetWorkDays = WorksheetFunction.NETWORKDAYS(startDate, endDate)
End Function

将按钮放在表单上,​​然后单击按钮!

于 2017-02-08T21:00:42.280 回答
0

如果您想计算天数之间的天数,则可以使用下面的内置函数“DateDiff”来解决它。Datediff("D",,) 例如。日期差异(“D”,L2,Z1)

于 2019-07-22T05:09:15.387 回答