[AccessD] Duplicates on Two Values

William Hindman wdhindman at dejpolsystems.com
Wed Nov 18 16:27:21 CST 2009


Virginia

1) to ensure that no two distinct records have the same data in the two 
fields
     ID    ItemName    ItemDesc
     1    red    blue
     2    red    blue
    set a unique index using both fields in the index ...this will gen an 
error when record two is entered
    use the error to gen a custom dialog

2) to ensure that a distinct record does not have the same data in both 
fields set a table level validation check constraint
    [ItemName] <> [ItemDesc]


zero code and it works in the background however the data in those two 
fields are edited

hth

William




--------------------------------------------------
From: "Stuart McLachlan" <stuart at lexacorp.com.pg>
Sent: Wednesday, November 18, 2009 4:44 PM
To: "Access Developers discussion and problem solving" 
<accessd at databaseadvisors.com>
Subject: Re: [AccessD] Duplicates on Two Values

> Do NOT use the two fields as a PK!
>
> Just create an additional  unique index in the table on the two fields.
>
> -- 
> Stuart
>
> On 18 Nov 2009 at 9:43, Hollis, Virginia wrote:
>
>> I need to prevent duplicates based on two text field entries. I asked
>> something like this awhile back & want to use something similar on
>> another form except base it on two fields. The ItemName & ItemDesc
>> (these are Text fields). I set the ItemName & ItemDesc as primary keys -
>> thought that would work. But I still can't get it to say - 'hey you
>> already entered this item, you can't add it again'. Also, should they be
>> primary keys or is there a better way for that too?
>>
>>
>>
>>   Dim OXK As String
>>
>>    Dim stLinkCriteria As String
>>
>>    Dim rsc As DAO.Recordset
>>
>>
>>
>>     Set rsc = Me.RecordsetClone
>>
>>
>>
>> If Not IsNull(Me.ItemName) Then
>>
>>     OXK = Me.ItemName.Value (Need to have ItemDesc too)
>>
>>     stLinkCriteria = "[ItemName]=" & "'" & OXK & "'"
>>
>>     'Check for duplicate
>>
>>    If DCount("ItemName", "tbl_ItemMain", (AND ItemDesc) _
>>
>>              stLinkCriteria) > 0 Then
>>
>>         'Undo duplicate entry
>>
>>        Me.Undo
>>
>>         'Message box warning of duplication
>>
>>       If MsgBox("Item " _
>>
>>             & OXK & " has already been entered." _
>>
>>             & vbCr & vbCr & "Would you like to view to the record?", _
>>
>>                    vbYesNo, "Duplicate Record") = vbYes Then
>>
>>               rsc.FindFirst stLinkCriteria
>>
>>              Me.Bookmark = rsc.Bookmark
>>
>>                 Else
>>
>>             Exit Sub
>>
>>     End If
>>
>>         End If
>>
>> End If
>>
>> Set rsc = Nothing
>>
>> -- 
>> AccessD mailing list
>> AccessD at databaseadvisors.com
>> http://databaseadvisors.com/mailman/listinfo/accessd
>> Website: http://www.databaseadvisors.com
>
>
> -- 
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
> 




More information about the AccessD mailing list