View Single Post
  #3  
Old May 1st, 2010, 01:10 AM posted to microsoft.public.access.tablesdbdesign
John W. Vinson
external usenet poster
 
Posts: 18,261
Default No Duplicates for Full Name

On Fri, 30 Apr 2010 15:13:02 -0700, Steve Stad
wrote:

I have 3 fields for Name. LastNm, FirstNm, and Middle Initial. How do I
ensure the full name, i.e., "LastNm, FirstNm, MiddleInitial" combined are
unique and not duplicated in the table?


Why would you want to put in this unreasonable restriction?

I once worked with Dr. Lawrence David Wise and with Dr. Lawrence David Wise.
Larry was a tall blond affable chemist, L. David was a stocky dark taciturn
biologist. But the company did not insist that one of them change his name to
accommodate a flawed database design.

At the most you should have VBA code in the BeforeUpdate event of the Form
used to enter data, to *check* for duplicates using DLookUp; it should warn
the user and give them the opportunity to compare the two records and cancel
their addition.

I thought I could index but not sure
where/what to check for 'Unique' (e.g., on all three fields?) or if I need to
use a primary key.


If you use the Indexes tool in table design view, you can enter three fields
(or ten if you wish) in the right column, with a distinctive index name in the
left column. There's a Unique checkbox.

I got a msg saying 'changes were not successful because
the create duplicate values in index, primary key, or relationship.'


Sounds like you already have duplicate names; run a Totals query, grouping by
the three fieldnames, and Counting the primary key (or any non null field);
use a criterion of 1 to find which names are duplicated.

But you should certainly NOT prohibit duplicate names. Duplicate names are
valid in the real world, and your database should model the real world!
--

John W. Vinson [MVP]