尽管我的问题似乎很简单,但我已经看过,没有找到合适的答案。我的表格显示了一个表格(table1),用户可以在其中编辑两个零件号字段(短文本)Alt_PN和Master_PN。
我要在表1中进行以下字段验证:
Alt_PN
:在表2的Alt_PN中不存在,在表3的Master_PN中不存在Master_PN
:在表3的Master_PN中存在我要寻找的行为是,如果编辑了一条记录或创建了一条新记录,则会弹出一条错误消息,描述错误,允许用户进行编辑或取消。
这是我为AfterUpdate
为Master_PN
尝试的代码:
Private Sub txtAHW_PN_AfterUpdate()
Dim strSQL As String
strSQL = "SELECT *" & vbCrLf & _
"FROM tbl_Base_PN_Validation " & vbCrLf & _
"WHERE (tbl_Base_PN_Validation.Valid_Part_Number= '" & txtAHW_PN & "');"
Err.Clear
fnc_g_GLOBAL_DB.Execute strSQL, dbFailOnError
If Err.Number <> 0 Then
MsgBox ("Error: part number not a master PN. Pls reeenter.")
End If
End Sub
当我输入txtAHW_PN
的有效值NS103680-8
时,strSql
变量的值为
SELECT *
FROM tbl_Base_PN_Validation
WHERE (tbl_Base_PN_Validation.Valid_Part_Number= 'NS103680-8');
在查询编辑器中运行时,我得到一个有效的结果表。在VBA中,我发现dbFailOnError
错误为128。
感谢您的协助。