0
我有一個表單,我不希望用戶能夠輸入具有相同名稱的聯繫人。在將記錄插入Access之前檢查重複
窗體上有一個保存按鈕。要檢查重複的那個按鈕的代碼部分是: -
If Me.DataEntry = False Then
Else
'Check for duplicate contact
If DCount("[ContactID]", "tblContactsNew", "[first_name] = " & "'" & Me.FIRST_NAME & "'" & "And [Surname] = " & "'" & Me.SURNAME & "'") <> 0 Then
MsgBox "A contact with these details already exists:-" & vbCrLf, vbOKOnly + vbExclamation
End
End If
End If
這是之前: -
DoCmd.RunCommand acCmdSaveRecord
如果計數<> 0,則顯示的消息。但是,如果我然後單擊我的取消按鈕,仍然爲重複添加一條記錄。
的取消按鈕的代碼是: -
If Me.Dirty Then
Me.Undo
End If
DoCmd.Close acForm, Me.Name
我怎樣才能防止被寫入重複記錄?
這樣做的工作,因爲它不寫入記錄。但是(對於在問題中沒有指定這個,但是保存按鈕實際上是保存並關閉),所以,根據您的建議,顯示該消息,然後表單關閉,我可以阻止這種情況發生嗎? – user1936588
那麼,在關閉它之前你可以檢查'Me.Dirty'(如果記錄已經保存,它應該是'True',否則'False')。但是很難說不知道完整的代碼 –
對不起,意思是說反向(如果記錄已保存,則'Me.Dirty'應該爲'False') –