比较表格中的日期和表格中的日期
Posted
技术标签:
【中文标题】比较表格中的日期和表格中的日期【英文标题】:Compare date from form with date in table 【发布时间】:2016-06-25 15:13:08 【问题描述】:在 Access 2016 上构建预订系统 我想对新预订进行一些验证,以确保设施可用。我似乎遇到的问题是将来自表单的日期与 SQL 期间表中的日期进行比较。
这是一些尝试调试的代码:
Set rst = CurrentDb.OpenRecordset("SELECT [FacBookID],[FacilityID],[EventDate] from FacilitiesBooking where [FacilityID] = " & Me.Facilities.Column(0, facilitySelect))
Debug.Print Me.Facilities.Column(0, facilitySelect) & " | " & Me.EventDate.Value & " | " & rst("FacilityID") & " | " & rst("EventDate") & " | " & rst("FacBookID")
rst.Close
Set rst = CurrentDb.OpenRecordset("SELECT [FacBookID] from FacilitiesBooking where ([FacilityID] = " & Me.Facilities.Column(0, facilitySelect) & " AND [EventDate] = " & Me.EventDate.Value & ")")
If Not rst.EOF Then
Debug.Print rst("FacBookID")
Else
Debug.Print "Did not find"
End If
rst.Close
当我在表中只使用一个条目并形成与该条目匹配的数据时,我得到:
3 | 2016 年 4 月 7 日 | 3 | 2016 年 4 月 7 日 | 2
没找到
这意味着我应该从第二条 SQL 语句中取回一条记录,但由于某种原因我没有。
抱歉,如果这是愚蠢的事情,但我已经进行了多次搜索并尝试了表单中日期的不同格式设置方法。
【问题讨论】:
【参考方案1】:日期值必须使用格式化的字符串表达式:
Set rst = CurrentDb.OpenRecordset("select [FacBookID] from FacilitiesBooking where ([FacilityID] = " & Me!Facilities.Column(0, facilitySelect) & " AND [EventDate] = #" & Format(Me!EventDate.Value, "yyyy\/mm\/dd") & "#)")
【讨论】:
以上是关于比较表格中的日期和表格中的日期的主要内容,如果未能解决你的问题,请参考以下文章