Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

Query base on Many-to-Many relationship

Posted on 2013-05-10
4
Medium Priority
?
420 Views
Last Modified: 2013-06-21
Customer Table: tblCustID(AutoN); tblCustFName(Text); tblCustLName(Text); tblCustLocal(Number)

frmCustomerInfo:  tblCustID; tblCustFName; tblCustLName; these are text boxes
tblCusLocal(ComboBox) Properties: SELECT tblLocal.tblLocalID, tblLocal.tblLocalName, tblOrganization.tblOrganizationName FROM tblLocal INNER JOIN tblOrganization ON tblLocal.tblLocalID=tblOrganization.[tblOrganizationLocal];

frmOrders:  tblOrdersDate(Date) TextBox; tblOrdersSeason(text) ComboBox; tblOrdersID(Auto)TextBox; tblOrdersCustID(text)ComboBox... There is a subForm that contain products purchased.

Here's my problem - when I run the query do display the orders sorted by customer and organization I get duplicate records for each customer cause each location has multiple organizations and to get from the tblcustomer to the tblorganization, I have to go through the tbllocal
(one-to-many betwn tblcustomer and tblorganization where tbllocal is the one in both relationships).  
The results give me locals plus all the organization that that local has associated with it for each customer, but if you examine the above info in up top, U can C that, when I enter the customer info in the frmCustomer, I pick a specific local/organization combination.  I know I'm leaving out some info, but I figure this is a good way to start.
0
Comment
Question by:JZeig
  • 2
4 Comments
 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 39157252
the many-to-many relationship should be avoided.
to do this you need a third table ( i think from what you describe, it is the local table )
anyway, see this demo

http://office.microsoft.com/en-us/access-help/demo-set-the-relationship-between-two-tables-HA010254901.aspx?pid=CH100739911033
0
 
LVL 31

Expert Comment

by:hnasr
ID: 39159311
List few records of the table, and show the required output.

Here some info, hope to be helpful.

M-M relation means you have left table(L_ID, ...) and right table(R_ID,...)
the M-M will be a link table between the two (L_ID, R_ID, ....)

Having only the M-M table, you may create 2 queries to represent the left and right tables.

For Left table: LQ (Select Distinct L_ID, ... FROM [M-M] )
For tight table: RQ (Select Distinct R_ID, ... FROM [M-M])

Now you have three tables, LQ, RQ, and [M-M].
0
 

Author Comment

by:JZeig
ID: 39201184
Here are the relationships - this might help

tblOrders: tblOrdersCustID------------------ tblCustomer: tblCustID

                                                    within same table "tblCustomer"

                                                              tblCustomer: tblCustLocal -----------------------------------------
------------------------------tblLocal: tblLocalID

                                                     within same table "tblLocal"
                              tblLocal: tblLocalID---------------------tblOrganization: tblOrganizationLocal

U have query up top.  The desired outcome is only the orders for a specific organization.  If a specific "Local" has multiple "Organization"s, I get duplicates.  I think I need to link the organization first then that way the organization will default to the correct local.  "Local"s have multiple organizations, but the organization is restricted to a specific local.  which I have  setup but I think this backwards.
0
 
LVL 31

Accepted Solution

by:
hnasr earned 1500 total points
ID: 39202863
Try to reproduce the issue using a sample database, upload. Use few records.
List the required output and tell which tables the output fields are selected.
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article shows how to get a list of available printers for display in a drop-down list, and then to use the selected printer to print an Access report or a Word document filled with Access data, using different syntax as needed for working with …
Beware when using the ListIndex and the Column() properties of a listbox in Access 2007.  A bug has been identified in the Access 2007 listbox code which can cause the .ListIndex property to return a -1, and the .Columns(#) property to return a NULL…
With Microsoft Access, learn how to specify relationships between tables and set various options on the relationship. Add the tables: Create the relationship: Decide if you’re going to set referential integrity: Decide if you want cascade upda…
Enter Foreign and Special Characters Enter characters you can't find on a keyboard using its ASCII code ... and learn how to make a handy reference for yourself using Excel ~ Use these codes in any Windows application! ... whether it is a Micr…
Suggested Courses

572 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question