As a point of reference I have a few posts on this site for a baseball card database I am trying to create (very slowly). Reference: https://bytes.com/topic/access/answe...-normalization Summary:
In the linked post above I have a Join Table I have created so that I am able to further normalize and "link" all of the tables to accommodate 1 card with multiple players, 1 player with multiple cards, 1 player with multiple teams, 1 card with multiple players and multiple teams, etc through these subdatasheets Access automatically inserted. Problem:
I have read many posts that claim lookup fields are evil but I don't know how else normalize data further in Access.
Take a more simple example with just two tables--
When I create a [tblTransactions] and find that a (fieldCustomers) needs to be broken out into it's own table to further normalize the data I would create a 2nd table [tblCustomers] and then have the (fieldCustomers) in the [tblTransactions] lookup the field the the 2nd table [tblCustomers] to create the relationship. Question:
How should I go about properly creating relationships in Access when I normalize tables given my problem or confusion stated directly above?
As always, I appreciate the many people on this forum who are so helpful with their replies despite my painful lack of knowledge and inability to grasp this stuff more quickly.
I have read many posts that claim lookup fields are evil but I don't know how else normalize data further in Access.
This is not about normalisation.
Lookup fields are evil because they trick you to transform tables to pseudo queries. They may seem "smart" but will leave you nothing but troubles.
So, leave the tables clean, and use queries when you need to display related records.
11 1957 I have read many posts that claim lookup fields are evil but I don't know how else normalize data further in Access.
This is not about normalisation.
Lookup fields are evil because they trick you to transform tables to pseudo queries. They may seem "smart" but will leave you nothing but troubles.
So, leave the tables clean, and use queries when you need to display related records.
Thank you cactusdata. So how to I join related tables if I cannot lookup other tables? For example my screen shot showed two tables joined by the CustomerID existing in both tables and joining from a lookup.
I did break Customer out into it's own table for the sake of normalization....
Thanks again for your help.
Create a query when you need to display related records.
Thanks again Cactus. Maybe my question isn't clear. I understand conceptually that if I want to display some data I will need to query that data.
My question is about linking tables (relationships). So I will re-create the steps.
1. In relationship view I show 2 tables, say tblCustomers and tbl Transactions.
2. In relationship view I drag the PK of tblCustomers to a FK in tblTransactions to create a relationship.
3. I open design view of tblTransactions and look at field properties of the FK.
4. When I look at field properties, now under the lookup tab it looks like Access has added a textbox to look up (as a result of my creating the relationship).
Is this an incorrect way to relate the tables? Are you suggested I leave the tables unrelated completely?
Thanks for your help. Again I am very slow to grasp this stuff.
I always use the Relations window for that.
Go to menu Tools, Relations and select the tables you wish to create relations for. Then, create the relation(s) you need.
This will give you a visual display of your tables and relations.
Thank you Cactus. That is what I did. Are you able to see the images I have been attaching?
What i refer to as relationship view, you refer to as relationship window, so I apologize if I used the wrong term there.
The central point of my confusion remains then. When I do exactly as you have instructed in your last post and as I have been doing all along anyway (creating relationships with the relationship window), Access DOES create a lookup table to the PK of the relationship.
That's really the whole question. Is this OK since "lookups are evil"?
So:
Action -- Create a relationship in relationship window by dragging the PK of one table to the related FK of another table.
Result -- A relationship is created by Access BY making the field in a table (FK) that looks up data (PK) of another table (a Lookup Field).
Thanks again for your help. Look forward to your reply and any other comments that might be out there....
I wasn't aware of that.
You can open the table the table in design view, go the field and tab Lookup. Here you can change it to: Textbox.
That will make the table show the real values for that field.
Yea...I can choose from Combo, List, or Tex Box but it's all under the Lookup tab so is it still OK?
Doesn't the fact that the Lookup tab is populated with info now under Display Control, even if it is as a Text Box, make this a lookup field?
NeoPa 32,556
Expert Mod 16PB
No. Every Field has a Lookup tab that's populated. It can't not.
Only if it's set as ComboBox or ListBox can it behave as a Lookup Field.
Thank you Neopa.
After your post, I went back and noticed only a field set to date/time data type had a lookup tab that wasn't populated.
I will assume going forward after your and Cactusdata's help that as long as my field display controls are set to TextBox they are not lookup fields.
As always, thanks for your patience and help. Good to hear from you.
NeoPa 32,556
Expert Mod 16PB
Quite right. I hadn't noticed there are some that don't. All the ones I checked had one and that includes Booleans, Numerics, Text etc.
I'm glad I was able to help, even if only a little. CactusData did all the heavy lifting on this one. I will set his first response (Post #2) as Best Answer as it best answers the original question. The rest of it was also helpful but less directly involved.
Sign in to post your reply or Sign up for a free account.
Similar topics
by: PMBragg |
last post by:
Thank you in advance for any and all assistance.
Is there a way to hide the Main Access window with tables, queries, forms
etc programmatically?
Michael
|
by: Matthew Wells |
last post by:
Good morning...
I have an Access front end that uses SQL Server linked tables. SQL Server
uses Windows authentication. I have one Windows group that all Access users
are a member of. I added...
|
by: bill.brennum |
last post by:
Hi,
Have a number of Access Databases that I inherited and want to zip a
few of them. My concern is that other active Microsoft Applications
may be linking to the database or its tables. Is...
|
by: Julia |
last post by:
Hello there.
I have a question somewhat related to this topic, and I don't know
where else to go. I hope somebody can help. I've created a database
in access, that I'd like to share with less...
|
by: Chris Ochs |
last post by:
We have a number of tables in a CRM that is written in MS access that I need
to be able to provide a web interface to. I can export the tables just fine
using pgadmin II, but I cant' think of a...
|
by: nunnasujatha |
last post by:
Hi all,
as a super user i want to restrict a user created by me to access only the tables created by him/her.
i.e he only can access or change the data in the tables created by him.and can not...
|
by: arunmib |
last post by:
Hi all,
I have a two doubt....Will there be any issues in using standard C functions in CPP file and compiling it with CPP compiler. To make things clear I'll add an example,
// File name :...
|
by: jillinsky |
last post by:
Wondering is this is possible - I have 2 tables. One is categories,
and has catid, catname, hashighercat, and ...I can't think of the 4th
one, but it isn't needed anyway.
There are 40...
|
by: neerja khattar |
last post by:
I have total 3 databases.One is mysql and other 2 are of access type.
I have 10 tables in each of the databases.
I want to sync 2 tables from both access databases with mysql tables.
whatever...
|
by: AustinGoldfish |
last post by:
I am trying to change a query to access different tables each time the query is run.
***I know, I know, there are other ways to accomplish this. However, this is what I must to do in order to...
|
by: Charles Arthur |
last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
|
by: emmanuelkatto |
last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud.
Please let me know.
Thanks!
Emmanuel
|
by: BarryA |
last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
|
by: Hystou |
last post by:
There are some requirements for setting up RAID:
1. The motherboard and BIOS support RAID configuration.
2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome a new...
| |