我正在尝试在 msaccess 上编写 VBA 代码来验证数据条目,以避免在故障日志数据库中出现重复。它适用于作为字符串数据类型(短文本)的 stLinkCriteria,但不适用于作为日期数据类型的 stDCriteria……它在这一行不断抛出错误“类型不匹配”或“数据类型不匹配”
stDCriteria = "[datelogged] = #" & DateTime & "#"
当我将鼠标悬停在代码上时,stDCriteria 显示上午 12:00:00
虽然 datelogged 的数据类型是数据库中的日期/时间...
Private Sub Form_AfterUpdate()
Dim NewTerminal As String
Dim stLinkCriteria As String
Dim DateTime As Date
Dim stDCriteria As Date
NewTerminal = Me.cboTerID.Value
DateTime = Me.txtDateLogged.Value
stLinkCriteria = "[serialptrid] = " & NewTerminal & ""
stDCriteria = "[datelogged] = #" & DateTime & "#"
If Me.SerialptrID = DLookup("[serialptrid]", "Fault_Log", stLinkCriteria) Then
If Me.DateLogged = DLookup("[datelogged]", "Fault_Log", stDCriteria) Then
MsgBox "This terminal " & NewTerminal & ", " & DateTime & ", has already been entered in this database." _
& vbCr & vbCr & "Please check terminal selected", vbInformation, "Duplicate information"
Me.Undo
End If
End If
End Sub