Ms access 为什么Access不能在表达式中正确解释此时间范围?
我正在为MS Access中的查询编写表达式。总体目标是创建一个新的领域,承认仅仅因为第三班晚上10点到早上6点跨越了午夜,它仍然应该回到他们开始的最初一天。我很难让它工作 伪代码: 日期:如果[RecordDate]的时间介于12:00AM和6:00AM之间,则返回[RecordDate]-1天[RecordDate] 实际代码 日期:IIfFormat[dbo_jobtran]![RecordDate],短时间介于00:00:00和6:00:00之间,DateAddd,-1,格式为[dbo_jobtran]![RecordDate],短日期[dbo_jobtran]![记录日期] 输出不正确 预期产量 Format返回一个字符串值。当您试图将字符串值与日期/时间值进行比较时,您的基础是不可靠的。比较需要访问将其中一个值强制转换为另一个值的数据类型。有时Access会正确地按您希望的方式进行转换,但不要依赖于此 检查您面临的问题的另一种方法是测试此查询: 选择格式2015年11月8日5:55:21,00:00:00和06:00:00之间的短时间作为Expr2; Access为Expr2返回0 False 始终使用日期/时间值与另一个日期/时间值进行比较: 选择 j、 记录日期, IIf 时间值j.RecordDate介于CDate0和CDate.25之间, DateValuej.RecordDate-1, DateValuej.RecordDate 开始日期 来自dbo_jobtran作为j 注: TimeValue返回日期/时间值的时间部分,并返回1899年12月30日第0天的时间。Access中不存在仅限时间的数据类型或仅限日期的数据类型,我们只有日期/时间。 DateValue返回日期/时间值中的日期,其中midnite 12 AM为一天中的时间。 CDate0是1899年12月30日上午12点 日期:1899年12月30日上午6点 如果您更喜欢DateAdd,请将DateAdd'd',-1,DateValuej.RecordDate替换为我使用DateValuej.RecordDate-1的地方 Format返回一个字符串值。当您试图将字符串值与日期/时间值进行比较时,您的基础是不可靠的。比较需要访问将其中一个值强制转换为另一个值的数据类型。有时Access会正确地按您希望的方式进行转换,但不要依赖于此 检查您面临的问题的另一种方法是测试此查询: 选择格式2015年11月8日5:55:21,00:00:00和06:00:00之间的短时间作为Expr2; Access为Expr2返回0 False 始终使用日期/时间值与另一个日期/时间值进行比较: 选择 j、 记录日期, IIf 时间值j.RecordDate介于CDate0和CDate.25之间, DateValuej.RecordDate-1, DateValuej.RecordDate 开始日期 来自dbo_jobtran作为j 注: TimeValue返回日期/时间值的时间部分,并返回1899年12月30日第0天的时间。Access中不存在仅限时间的数据类型或仅限日期的数据类型,我们只有日期/时间。 DateValue返回日期/时间值中的日期,其中midnite 12 AM为一天中的时间。 CDate0是1899年12月30日上午12点 日期:1899年12月30日上午6点 如果您更喜欢DateAdd,请将DateAdd'd',-1,DateValuej.RecordDate替换为我使用DateValuej.RecordDate-1的地方Ms access 为什么Access不能在表达式中正确解释此时间范围?,ms-access,ms-access-2010,dateadd,Ms Access,Ms Access 2010,Dateadd,我正在为MS Access中的查询编写表达式。总体目标是创建一个新的领域,承认仅仅因为第三班晚上10点到早上6点跨越了午夜,它仍然应该回到他们开始的最初一天。我很难让它工作 伪代码: 日期:如果[RecordDate]的时间介于12:00AM和6:00AM之间,则返回[RecordDate]-1天[RecordDate] 实际代码 日期:IIfFormat[dbo_jobtran]![RecordDate],短时间介于00:00:00和6:00:00之间,DateAddd,-1,格式为[dbo_
RecordDate Expression
8/10/2015 11:58:09 PM 8/10/2015
8/11/2015 12:07:52 AM 8/11/2015
8/11/2015 5:55:21 AM 8/11/2015
8/11/2015 6:17:06 AM 8/11/2015
RecordDate Expression
8/10/2015 11:58:09 PM 8/10/2015
8/11/2015 12:07:52 AM 8/10/2015
8/11/2015 5:55:21 AM 8/10/2015
8/11/2015 6:17:06 AM 8/11/2015