1 ms-access date ms-access-2013
我有一个Access 2013表单,其中有两个未绑定的日期字段,FromDate和ToDate。我将它们插入具有自动编号键字段的表(TblGuestBooking)中,因此在后面的SQL语句中没有此功能。
如果FromDate和ToDate在同一月份,则日期输入为dd / mm / yy,即表单字段的格式。但是,如果起始日期在一个月内,而截止日期在下个月或下个月,则后续月份的格式将更改为mm / dd / yy。
例如,26/2/14到3/3/14产生以下表条目:
26/02/14,
27/02/14,
28/02/14,
14年3月1日,
14年3月2日,
14年3月3日
这是我用来将日期放入表格中的代码片段(BookingID是从表单获取的。)
Dim BookingDate As Date
Dim SQLString As String
....
BookingDate = FromDate
Do
    SQLString = "INSERT INTO TblGuestBooking ([BookingDate], [BookingID])  VALUES (#" & BookingDate & "#" & "," & Me.GuestSuiteBookingID & ")"
    DoCmd.SetWarnings False
    DoCmd.RunSQL SQLString
    DoCmd.SetWarnings True
    BookingDate = BookingDate + 1
Loop Until BookingDate = ToDate + 1
如果您已经阅读了本文,则感谢您的宝贵时间。如果您能帮助我,非常感谢。
在处理日期文字(由“井号”括起来的文本值#)时,无论计算机上的区域设置如何,Access SQL 始终会将不明确的xx-yy-zzzz日期解释为mm-dd-yyyy。因此,如果您的计算机配置为将短日期显示为,dd-mm-yyyy并且您创建使用#04-02-2014#它的Access查询,则始终将其解释为4月2日,而不是2月4日。
解决方案是始终将日期文字格式化为明确的yyyy-mm-dd值。在您的情况下,
... VALUES (#" & BookingDate & "#" ...
你会用类似的东西
... VALUES (#" & Format(BookingDate, "yyyy-mm-dd") & "#" ...
| 归档时间: | 
 | 
| 查看次数: | 4682 次 | 
| 最近记录: |