首页 > 解决方案 > 运行时错误“13”类型不匹配 - 访问数据库

问题描述

我正在尝试将两个文本字段 txtTrailerNumber 和 txtSealNumber 与数据库表 Tab_TrailerDetails 进行比较。表中列出的 [TrailerNumber] 和 [SealNumber]。

我试图让数据库查看表格中输入的拖车号,如果发现重复值,则查看表格中输入的封条号。如果两个值在表中都有重复,它应该抛出 Msg_Box 错误代码。

Private Sub txtSealNumber_AfterUpdate()

Dim NewTrailer, NewSeal As String
Dim stLinkCriteria As String


'Assign the entered Trailer Number and Seal Number to a variable
NewTrailer = Me.txtTrailerNumber.Value
NewSeal = Me.txtSealNumber.Value

stLinkCriteria = ("[TrailerNumber]='" & NewTrailer & "'" And "[SealNumber]='" & NewSeal & "'")

If Me.txtTrailerNumber = DLookup("[TrailerNumber]", "Tab_TrailerDetails", stLinkCriteria) Then

   MsgBox "This trailer, " & NewTrailer & ", has already been entered in database," _
              & vbCr & vbCr & "along with seal " & NewSeal & "" _
              & vbCr & vbCr & "Please make sure Trailer and Seal are not already entered.", vbInformation, "Duplicate information"
     
'undo the process and clear all fields
    Me.Undo
    

End If

End Sub

标签: sqlvbams-access

解决方案


错误的原因是您有一个逻辑关键字,特别是AND在字符串表达式中。将您的代码更改为

stLinkCriteria = ("[TrailerNumber]='" & NewTrailer & "' And [SealNumber]='" & NewSeal & "'")

推荐阅读