访问表单字段验证:对照表进行验证

时间:2020-06-16 18:16:57

标签: vba validation ms-access

尽管我的问题似乎很简单,但我已经看过,没有找到合适的答案。我的表格显示了一个表格(table1),用户可以在其中编辑两个零件号字段(短文本)Alt_PN和Master_PN。

我要在表1中进行以下字段验证:

  • Alt_PN:在表2的Alt_PN中不存在,在表3的Master_PN中不存在
  • Master_PN:在表3的Master_PN中存在

我要寻找的行为是,如果编辑了一条记录或创建了一条新记录,则会弹出一条错误消息,描述错误,允许用户进行编辑或取消。

这是我为AfterUpdateMaster_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。

感谢您的协助。

0 个答案:

没有答案