Option Compare Database Option Explicit Function LsDataCheck(expr As String, TblName As String, criteria As String) 'DLookupを使って同一データの有無をチェックする。 '(引数はDLookupと同じ) ' expr :対象となるデータが含まれているフィールドを表す文字列式 ' TblName :テーブル名またはクエリー名 ' criteria:SQL 式の WHERE 句 If Screen.ActiveControl = Screen.ActiveControl.OldValue Then '値を変更したが戻した場合 LsDataCheck = False Exit Function End If If IsNull(DLookup(expr, TblName, criteria)) = False Then '同一値あり MsgBox "同一値あり" LsDataCheck = True End If End Function Private Sub 真偽_BeforeUpdate(Cancel As Integer) Cancel = LsDataCheck("id", "データ", "真偽=" & Me!真偽) End Sub Private Sub 数字_BeforeUpdate(Cancel As Integer) Cancel = LsDataCheck("id", "データ", "数字=" & Me!数字) End Sub Private Sub 日付_BeforeUpdate(Cancel As Integer) Cancel = LsDataCheck("id", "データ", "日付=#" & Me!日付 & "#") End Sub Private Sub 文字_BeforeUpdate(Cancel As Integer) Cancel = LsDataCheck("id", "データ", "文字='" & Me!文字 & "'") End Sub