I don't see that there is a many-to-many relationship here. It looks like a
simple many-to-one relationship between the Master Freeze Fracture Record
table and the List of Default Chemical Labels columns. If you change the
RecordSource of your report to the following query:
SELECT
[Master Freeze Fracture Record].*,
[List of Default Chemical Labels].[Chemical Formula],
[List of Default Chemical Labels].[Phase Diagram]
FROM [List of Default Chemical Labels] INNER JOIN [Master Freeze Fracture
Record]
ON [List of Default Chemical Labels].[Chemical Label]=[Master Freeze
Fracture Record].[Chemical Label];
And then change the ControlSource properties of the two bound object frames
to Phase Diagram and Chemical Formula you should find the report works.
Looking at your Master Freeze Fracture Record table I notice that the
Catalogue Name appears to be made up of the Chemical Label + the Target Phase
+ a string of other characters. If this is always the case this creates a
certain amount of redundancy and it would be possible for the values in these
three columns to be entered inconsistently (what is known in the jargon as an
update anomaly). It would be better if the Chemical Label and Target Phase
values were omitted from the Catalogue Name column's values, keeping only the
non-redundant part of the Catalogue Name in this column. The full Catalogue
Name can always be computed in a query by concatenating the values of the
three columns.
I see also that your table of Investigators has just the one column of
names. Personal names do not make good keys as they can be duplicated (I
worked once with two Maggie Taylors in a single office). Its would be better
to use a unique numeric InvestigatorID column as the key (an autonumber
column can be used for this). This would enable duplicate names to be
entered in the table if this should prove necessary at some time in the
future. The foreign key in the Master Freeze Fracture Record table would
then be a numeric InvestigatorID also, but not an autonumber this time, just
a straightforward long integer number. Two people of the same name can this
be distinguished. You would need some other column of meaningful data in the
Investigator table to do this of course (e.g. a job title). I realize that
this probably sounds like a remote possibility in the context of a small
number of personnel, but good database design caters for all possible
eventualities, however remote they may seem.
While I don't think it applies here a table which models a many-to-many
relationship type essentially has two foreign key columns each of which
referencing the primary keys of the tables modelling the entity types between
which the many-to-many relationship exists. The two foreign key columns
together form the composite primary key of the table. To take a simple
example, each Supplier might supply many Products, and each Product might be
supplied by many Suppliers; so the table modelling the relationship type
ProductsSupplied would have columns SupplierID and ProductID. The
many-to-many relationship type is thus modelled by being resolved to two
one-to-many relationships types. A relationship type is itself an entity
type, of a special kind, and can have its own attributes represented by
columns. In this simplified scenario the ProductsSupplied table might for
instance have a UnitPrice column representing the price charged by each
supplier for the product in question.
Ken Sheridan
Stafford, England
Fawkes said:
I am new to Microsoft Access and working on constructing my first database.
I have several tables that hold data. One table contains records of when
certain types of samples are prepared and where they are stored (or used) and
general information like that. I call this the Master Record.
A second table contains chemical names and two associated OLE ojbects
(bitmap images and Canvas9 files) displaying the chemical structures and
phase diagrams.
I need to call a report that prints out information from both tables (the
Master and the Chemical Information). Right now, the report I have does not
seem to work.
I've been playing with the Relationships Menu and I tried to create a Joint
Table so that a Many-to-Many Relationship is defined -- but I'm not sure how
to structure the information in the Joint Table. Does anyone have a better
explanation of how to set up a joint table then the Microsoft Help
description?
A copy of my database can be viewed:
http://ucsub.colorado.edu/~heberlin/FFdatabase.mdb
thanks for your help.