比较表格中的日期和表格中的日期

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") & "#)")

【讨论】:

以上是关于比较表格中的日期和表格中的日期的主要内容,如果未能解决你的问题,请参考以下文章

Google 表格 - 返回多个表格中的最早日期

如何将EXCEL表格中的出生日期格式快速转换?

java中如何读取excel表格中的日期

如果单元格日期介于 Google 表格中的某些日期之间,则显示周

表格中的可选日期

电子表格里面日期怎么批量修改