尝试在访问错误中查找重复记录

Posted

技术标签:

【中文标题】尝试在访问错误中查找重复记录【英文标题】:Trying to Find Duplicate Records in Access Error 【发布时间】:2020-04-14 17:52:02 【问题描述】:

我正在为一家体育俱乐部制作数据库, 填写表格时,他们输入设施 ID、开始时间、结束时间和日期。 我想要做的是,当他们进入结束时间框时,该功能会扫描“预订”表上的条目,该表中的所有数据都存储在该表中,以查看该设施此时是否已预订。 ( 确定是否在某个时间被订满,如果桌子上的开始时间或结束时间在表格上填写的时间之间,则会抛出错误 代码如下:

Private Sub EndNon_AfterUpdate()
    Dim criteria As String
   criteria = _
      "Non-PlayingFacilityID= " & Me.NonPlayID.Value & " " & _
      "Date(Non-PlayingFacility)= " & Me.DateNon.Value & _
      " " & "AND [StartTime(Non-PlayingFacility)] Between Me.StartNon.Value And Me.EndNon.Value OR [EndTime(Non-PlayingFacility)] Between Me.StartNon.Value And Me.EndNon.Value "

   If DCount("*", "Bookings", criteria) > 0 Then
      MsgBox "Unfortunately, this facility is booked at this time"
      Me.Undo
   End If

End Sub

运行时抛出语法错误,不知道为什么。 任何帮助将不胜感激

【问题讨论】:

【参考方案1】:

它可能会突出显示这种无效的语法:

"Date(Non-PlayingFacility)= " & Me.DateNon.Value & _

也许你的意思是:

"DateValue([Non-PlayingFacility])= " & Format(Me!DateNon.Value, "\#yyyy\/mm\/dd\#") & _

剩余的日期比较需要连接起来,格式类似。

附录 - 给出了不起眼的字段名称:

"[Date(Non-PlayingFacility)]= " & Format(Me!DateNon.Value, "\#yyyy\/mm\/dd\#") & _

需要该格式才能在 SQL 中为日期值创建有效的字符串表达式。这与用于显示的格式无关。

【讨论】:

Gustav,变量名其实是“Date(Non-PlayingFacilty)”。我知道这对括号有误导性,并且会改变它。输入掩码用于表单中的日期值,因此格式正确,因此无需更改,谢谢 没有。您将不得不调整完整的代码 - 正如我的回答中所述。

以上是关于尝试在访问错误中查找重复记录的主要内容,如果未能解决你的问题,请参考以下文章

sql语句 分次(多次)获取不重复记录,请高手赐教!

选择数据并在所选记录中查找重复值的 sql 查询

PostgreSQL 如何查找并删除重复数据

PostgreSQL 如何查找并删除重复数据

PostgreSQL 如何查找并删除重复数据

在 MongoDB 中查找重复记录