尝试在访问错误中查找重复记录
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)”。我知道这对括号有误导性,并且会改变它。输入掩码用于表单中的日期值,因此格式正确,因此无需更改,谢谢 没有。您将不得不调整完整的代码 - 正如我的回答中所述。以上是关于尝试在访问错误中查找重复记录的主要内容,如果未能解决你的问题,请参考以下文章