Issue With Primary Key Being More Than One Field?
Oct 26, 2004
Hello,
I have a basic question about choosing the primary key for a table. Now I am not really concerned on the particular field(s) chosen to be the primary key, but rather the potential states, if you will, that the key can be in.
Say I choose a multiple field primary key for a contact table of, say, LastName, FirstName, and PhoneNum.
I thought during an Access db project I was updating awhile ago using Access 97, it didn't require EVERY field of the multiple primary key to be filled in, as long as there was enough to make a unique key.
I am wondering if this is still the case for Access2000 primarily. From what I have read it appears that this is not the case or at least it is strongly not recommended. For my example would it be to have FirstName and LastName filled in but not PhoneNum. Then, if a new Contact were added with the same LastName and FirstName but a PhoneNum was also added, the PrimaryKey would essentially be unique still.
I know this definitely isn't the best example but it still states my point.
If anybody has any wisdom on the subject I'd greatly appreciate it!
Thanks! :)
Dana S.
View Replies
ADVERTISEMENT
Dec 15, 2012
Assuming the following table:
Album ID AlbumTitle Song Rating
New
When I enter data, Album ID increases every time I jump to the next field. For example, when I enter: AlbumTitle, Song, Rating, Album ID is already at 4 and this is just the first record.
View 6 Replies
View Related
Jun 17, 2012
My table called Table1 has a primary key field (called RefID) with AutoNumber format. My problem is I want duplicate value of RefID field to another field called DupID. I want DupID to be changed, but I don't want any change on RefID field whenever I make changes.
View 5 Replies
View Related
Nov 24, 2004
I think that creating a new primary key is the only solution to this problem, but I would love to have other input, including potential pitfalls I might encounter in this process.
Here is the scenario: I have spent the past year creating a "survey based" database in my "spare" time at work. The database holds detailed information about nutrition questionnaires given to children over the years that they are in our program. I have based the structure on using ClientID as the primary key. ClientID = each individual's social security number.
We have another database that holds all the client's information. This is the database where any updates are done to their information. I export the client information (firstname, lastname, birthdate, socialsecurity, plus a few more) that I need into excel. Then I import that info into my database on a regular basis using an update/append query.
We started using the database in September and all was going well until a few weeks ago when I imported data and found a name that was entered twice. On looking closer, I found that the person had two different ClientID's. How could this happen...? Well, in our other database, if a child doesn't have a social security number yet, or we weren't given it, the program creates a fake social security number AAA-##-####. I knew this from the beginning, but wasn't aware of any problem. However, I was missing a significant piece of information. When the child finally does receive a SS#, we go in and change the number in the program!!!! At first I was told this rarely happens (I had about 6 duplicates the first time), but today I ran another import and found 90 instances of duplicated names!
There are just over 600 records in the database. Many of these have had information that is unique to this database entered in a related table, so I need to be sure I don't lose any of that data. There is data in other tables that I could import again if I have to.
Here are my options as I see them:
1. Leave the primary key alone and delete the duplicated values with every update.
2. Create a new unique autonumber primary key, knowing I will have to delete relationships and rebuild them. I would leave the clientID field in the system as it is the only way we have to determine the difference between two children with the same names and birthdates.
3. Run quietly away hoping they don't notice the problem until I am long gone. ;)
What would you do in these circumstances? If you agree with my assessment that I really should create a new primary key, what steps would you take to minimize problems both during the process and in the future?
And yes, I wish about 12 months ago, I had asked if the social security number was ever updated, but of course no one thought to bring that up when we were discussing the database design! :mad:
Thanks for your help!
View 2 Replies
View Related
Jul 27, 2014
I have some employee data to import into Access but this data does not have employee ID numbers. I would like to assign employeeID numbers to each person then set the employeeID field as the primary key.
Here is what I had in mind. I would create a table that defines each employee with an EmployeeID number. Then in the table containing the imported data, the first field would be called EmployeeID. After importing the Excel data into this table, initially this EmployeeID column would be blank because the data in the Excel file doesn't have an employeeID. But the employeeID field would have a VLOOKUP formula that would look at each person's name and cross reference that with the employeeID table in order to obtain the employee ID for each person on each row. Then the VLOOKUP would return the employeeID number. Furthermore, I would like to have this employeeID field set as the primary key.
Can you do a VLOOKUP in Access? If so, can the employeeID field still be used as the primary key field, even though its values would be determined by a VLOOKUP?
View 1 Replies
View Related
Apr 9, 2013
I have new database in this database i make primary key to field (ID NUMBER)
I enter data in this database just copy and past
If I enter any ID Number which is already in database , this database is stock
How I avoid this problem and how I let this database to accept other ID Number which is not in database and ignore other?
View 1 Replies
View Related
May 9, 2007
Hi,
The database I've inherited has a primary key autonumber set up which is randomly generating numbers. It also has another field which has yet to be used, of a clients reference number.
I thought it would make sense to use the reference number field as the primary key, as it seems redundant otherwise and it would give us another field to perform searches on (if we record a clients reference number on their paper file, then finding them on the database would be much quicker).
Because of the relationships in the database, I didn't want to remove the existing primary key as I'm afraid it would mess up the whole thing. I was wondering if there is a way of having the autonumber which is generated in the primary key to be automatically copied to the clients reference number field? This would leave the primary key intact but give us this extra level of information to search on.
Thanks.
View 1 Replies
View Related
Jun 15, 2006
Hi guys,
I am having problem with a query.
I have to tables. One named wire and the other named Input.
As my title says there is not unique ID for the tables to relate.. the only thing to relate is one ID where is not unique for all the rows
In the Wire Table I have 3 rows using the same ID, lets say 123.
In the Input Table I have 1 row using the same ID as above, i.e. 123
I need to select a couple of fields from Wire Table and 1 field from Input Table
The only relationship I have is the ID 123.... since the ID in Wire Table is repeated in 3 rows.... I would like to use the same value from the Input Table to be the same for the 3 rows in the other table.. Below is an example:
Wire Table:
ID Group
123 A
123 B
123 C
Input Table
ID Description
123 Analog
My wanted result would be
Group Description
A Analog
B Analog
C Analog
I tried using the Left join or Join function, but somehow the resulting table has many duplicates of the rows...such as:
Group Description
A Analog
A Analog
A Analog
A Analog
A Analog
B Analog
B Analog
B Analog
B Analog
...
Any Idea on whats going on and how can i solve this problem????
Thanks in advance. Your Help is much appreciated
View 1 Replies
View Related
Sep 30, 2005
Hi there,
strange query... I have a testing database which I have filled full of test data. I now want to create an empty copy of this database, so I copied this, removed all records, however the tables where I have a field named ID, which is the Primary Key field and is Autonumber set to increment, I cant seem to get this to set back to 1. I tried deleting the ID field completely, closing DB, and adding it again, yet it STILL remembers the next number up from the last record I had created previously??
Can anyone offer any help as to how I can get this set back to 1, as now I am finished testing I want to essentially start all table records fresh.
Many thanks for your help as always,
View 5 Replies
View Related
Jan 30, 2008
I have a database with 200.000 records, how I Add Primary Key Field.
I'm getting error "File sharing count exceeded..", tried to increase "MaxLocksPerFile" registry , but without success.
View 2 Replies
View Related
Apr 28, 2008
I have a table with more than 700,000 records. There are no unique fields or unique combination of fields. I would like to add an AutoNumber field but when I try I get the message:
File sharing lock count exceeded. Increase MaxLocksPerFile registry entry.
If I answer yes I get an error that the new field was not added. Is there any way to add a key foield to an existing database?
View 3 Replies
View Related
Aug 7, 2005
Hey Guys
I'm having abit of bother with a database I'm fooling around with.
Basically it has 4 main tables at the moment.
Personal Details
Participant ID (Autonumber)
etc
Training Details
Participant ID (Number)
Attendance ID (Text Field) Auto generated by expression =[Participant ID]&[Course Code]&[Level Code]
etc
Attendance Records
Attendance ID (Text Field)
Review ID (Text Field) Auto generated by expression =[Attendance ID]&[Month]
Reviews
Review ID (Text Field)
etc
These tables are linked by standard one to many relationships. (http://www.flamingbird.com/relationship.png)
Everything worked fine until I decided to Auto Generate the Attendance IDs and Review IDs to save confusion amongst those administering it.
Now it reports when I try to add a new record to the tables with the Auto generated IDs that:-
Index or Primary Key cannot contain a null value.
It appears the auto generated ID's are being mistaken for NULL values!
Anyone any ideas as to why this is happening? This is really my first time trying anything this complex, every other database I've done relied heavily on the data inputer.
Oh and its Office 2003, but the database is in 2000 format cos not all the office has office 2003 just the training end.
Many thanks
Dazzy
View 2 Replies
View Related
May 2, 2014
How to determine if a field within a table is a primary key or part of a compound key using ADO?
View 1 Replies
View Related
Sep 24, 2012
I am trying to make my primary key in my table a calculated field.
I want the field to be subject + catalog + topic no. The only problem is that there is not always a topic no.
How would I write this expression?
View 5 Replies
View Related
Jun 5, 2015
How can I insert an 'ID' field into an existing table at first field as primary key using AutoNumber? The table will then be populated.
View 9 Replies
View Related
Aug 5, 2014
I've imported some historic user data from some spreadsheets and I have a field which is a unique PIN code for each user. This is set as the primary key on my new table. Duplicates are not allowed. It's a text field with values ranging from 0005 through to 9576. The maximum allowed range of values will be from 0001 to 9999. There are currently only 300 records in the table so as you can see, there are lots of PINs available for use.
I'm building a form to allow a new user record to be created and want to automatically allocate the next available PIN. So if I was entering a new record now, the PIN to be allocated would be 0001.
how I can create an event for creating a new record that looks up the next available free PIN.
View 4 Replies
View Related
May 16, 2014
My Db has a master table with a two-field primary key.
I have a main form, based on a query that primarily grabs data from that table.
The form has a subform based on a table which is the "many" side of a one-to-many relationship with the master table. I'm having a problem adding individual records to the subform.
The subform is linked via Master/child fields to the main form, but only on one of the two fields comprising the PK. When I add a new record in the sub it does not pull the PK data to the FK fields in the sub table and I suspect it is because of only having one of them properly linked.
The subform relates to an annual certification process that we track with vendors. The sub-table is populated each year with the two FK values for all qualifying vendors in one go. If I then need to add a single certification record for a single vendor I want to have a button on the subform that will pull the values from the main form fields, and ask the user for the cert year.
I tried adding a new record in vba via
Code:
Private Sub btnAddSingleRec_Click()
Forms!frmMainForm!subfrmCurrentProcess.SetFocus
DoCmd.GoToRecord , , acNewRec
DoCmd.OpenQuery "qryAddSingleCert"
with the query being an Update query with the following in the Update To line and "Is Null" in criteria:
Forms!Mainform!PKField1
Forms!Mainform!PKField2
[Enter Cert Year]
This doesn't throw an error, but the Access warnings say I'm updating 0 Rows.
View 4 Replies
View Related
Apr 18, 2013
Is there anyway to set a calculated field as the primary key? Or how to duplicate the value of a calculated field into a new field and set the new field as the primary key?
View 7 Replies
View Related
Nov 28, 2014
I have two Tables, Table A and Table B...Table A and B have a one to many relationship with A (one) and B (many).I have a Master form that displays information for Table A. Also, I have a subform within this Master that displays information for Table B.
As I scroll through the records of A, you can see the 1-many relationship elucidated in the subform with many being displayed for Table B.I run into a dilemma, though, when I try to ADD a new record to Table A (and in turn Table B).When I add a new record, there is no Primary Key left to be displayed since this primary key is generated from a query.Hence, when I move to a new record, I can not save the record because there is no primary key. Since there is no primary key, there is nothing that i can input into the subform either. I want to create the primary key from values entered in the field. However, i CAN NOT create a relationship with an expression for field values.
View 1 Replies
View Related
Jul 17, 2012
I am a new access user and I have several questions primarily can i relate field names to a primary key in another table?
View 9 Replies
View Related
Jun 17, 2013
I have a calculated field in a query. The field name is TotatPt (this is to calculate the total points students have earned during the term). The expression is as follows:
Code:
TotalPt: [Att1Pt]+[Att2Pt]+[Att3Pt]+[Att4Pt]+[Att5Pt]+[Att6Pt]+[Att7Pt]+[Att8Pt]+[Att9Pt]+[Att10Pt]+[Att11Pt]+[Att12Pt]+[Att13Pt]+[Att14Pt]+[Att15Pt]+[Att16Pt]+[Att17Pt]+[Att18Pt]+[Att19Pt]+[Att20Pt]+[Att21Pt]+[Quiz1Pt]+[Quiz2Pt]+[Quiz3Pt]+[Quiz4Pt]+[Quiz5Pt]+[Quiz6Pt]+[Quiz7Pt]+[Quiz8Pt]+[Quiz9Pt]+[Quiz10Pt]+[MidtermWritPt]+[FinalWritPt]+[Proc1Pt]+[Proc2Pt]+[Proc3Pt]+[Proc4Pt]+[Proc5Pt]+[Proc6Pt]+[Proc7Pt]+[Proc8Pt]+[Proc9Pt]+[Proc10Pt]+[Proc11Pt]+[Proc12Pt]+[Proc13Pt]+[Proc14Pt]+[ProcPracPt]
I think this should be no complicated expression (though a bit long) and should just add the fields together. But what I get is that the calculated field appears as expected for records with an odd primary key (1, 3, 5, 7, ...) and turns out blank for records with an even primary key (2, 4, 6, 8, ...)!
I've attached a screenshot.
View 6 Replies
View Related
Jul 31, 2014
I have a form that has a FIND button. I want the user to enter the 3 fields that make up the primary key, then find the associated record. How can I do this in Access - not VBA?
View 1 Replies
View Related
Aug 4, 2015
In table 1 fields Factor, Aggregations, Stat, and Days Back are fields that make up a multi-field primary key [URL].
I want to create a relationship between that multi-field primary key and another table, call it table 2, and make it a one-to-one relationship.
How do I do this in MS Access 2013?
View 3 Replies
View Related
Aug 30, 2013
I'm using a combobox to select a record based off my primary key field, and then a separate button to print that particular record.
When the form loads, it has the first record selected but the combobox is empty so that if I press my button it will still print the first record.
when I press the combobox my list of entrys in the primary key field shows up and the combobox is no longer blank.
How do I show the first primary key field in the combobox when the form loads?
View 6 Replies
View Related
Apr 12, 2013
I am trying a to build a slot booking database in which users will be able to book slots (ranging from 1-30) on a particular day for a specific site (location).
When trying to build the relationship between slot in tbl_available and slot in tbl_appointment i get the following error "No unique index found for the referenced field of the primary table" the same error pops up when trying to build a relationship between site in tbl_available and site in tbl_appointment.
I need both relationships to be 1 to many.
View 1 Replies
View Related
Nov 30, 2012
Access 2010..One organization that we work with provides us with a block of numbers for each of the two types of contract products we order from them; we do order non-contract stuff from them also.The block of numbers are the same (i.e. 20000 to 30000 this year) for each of the two products. This means that each product can have the number 20000, for example. We call this the Tracking Number. If it is one of these products, we need to select the Contract Number.
For all other one off orders we have with them, we assign our own Tracking Number starting with 00001. This Tracking Number cannot duplicate unless it is one of the aforementioned two products.Both the Tracking Number and Contract Number are in the same table. The user selects the Contract Number from a form (connected to the Contract Number table that has all the details on the contract) and the Contract Number is populated in the same table that has the Tracking Number.Each order must have a Tracking Number (no null)..Not all orders need a Contract Number (null okay).The Tracking Number and Contract Number combination cannot duplicate.I tried setting the primary keys to more than one field in the table, but they cannot have null values.
If not... I have been working on Plan B.... an AfterUpdate on the form (either the form or a field... don't know yet) that looks at a query that only has results if there are duplicate values.
View 1 Replies
View Related