This window is the starting point for Custom Analysis sessions. Here you can select
the tables and queries which will participate in the definition of this interface (View).
You have a number of options on this screen for sorting and displaying the Data Sets which are available
for use within this interface. For instance, you can click on the heading of the columns on this display, to sort the record sets in various orders while deciding which should be included; by name, by type (Table/Query) etc. Clicking the header
a second time returns the list to its default order, which is alphabetically by name.
Custom Analysis also allows you field-by-field control over how much information Access ELF will store
for each text column in your database. To open a customization dialog for the individual fields
of a table, make sure it is selected, and right-click on its name in the list of selectable
Data Sets.
The remainder of this page documents the "Has relations" columns and the "Relationships from:" panel.
It's important that the data sets in any View share a relationship. Otherwise, Access ELF
may wind up simultaneously interpreting words in a given question as relating to two unrelated
datasets. At that point, the translation will fail because the software will be unable to
JOIN the two recordsets.
Now, Access ELF can't prevent you from creating a database interface using unrelated tables.
For one thing, before the Analysis begins (at the point you're selecting the data sets), Access
ELF hasn't done the analysis yet -- so it doesn't know what's related! But it does use some quick
rules of thumb to guess whether the selected sets appear related. If it suspects you may be
headed for trouble, it will provide warning messages that ask you to confirm your decision to
go ahead with the analysis.
Remember that you can build many different views of a single database, and trigger them at an
appropriate point by adding a single line of code. For more details on Views, see the
Views: Settings Tab 3 topic.
It's possible to define interfaces on unrelated tables in some cases. Access ELF should still work
on unrelated tables assuming that queries won't need to reference more than one table at a time.
If the tables have implicit relationships, like the relational tables in Northwind, the keys have
to be set via the Edit Relationships window in Access. This allows the necessary joins to be automatically
generated. For instance, if you ask "which employees sold beverages", the path from EMPLOYEE table
to CATEGORY table requires accessing fields of the ORDERS and ORDER DETAILS tables.
By default, ELF will use the built-in Relationship collection of MS Access to determine
how tables are related. Keys and foreign keys, the links tying the tables together, are also
read from the Relationship map, providing the details Access ELF needs to build queries which
reference interrelated tables.
An alternate way of providing information about the relationships between data sets is to
use a "Master Query". In fact, a Master Query be used in place of, or in addition to, the
Relationship collection. Any JOINS contained in the Master Query will be added to
Access ELF's internal store of acceptable links.
If you don't want to have relationships set in your application, but still expect ELF to make
the proper connections, you have two choices. First, you can set the relationships prior to
running the Analysis, and delete them afterwards. ELF keeps its own table, so you don't need the
Relationships collection at run-time. Second, you can enter relationships directly into the
ELF system tables by using the JOINS button on the View Analysis editor. For each relationship,
there should be two rows:
Function: JOIN Type: C Arg 1: TableName1 Arg 2: TableName2 Result: KeyField
Function: JOIN Type: C Arg 1: TableName2 Arg 2: TableName1 Result: ForeignKey
The fieldname in the Result column must be a field of the table in the Argument 1 column.
In many cases, the KeyField and ForeignKey have the same name, but if you link two tables for
instance on fields BIRTHPLACE<->CITY, make sure the fieldnames match the proper table.
However, we strongly recommend that you use either the Relationship map or the Master Query
method to define the database relationships for Access ELF.
A refinement added in version 2.0 is the ability to understand triangular relationships, even
including those cases where the Key and Foreign Key fields do not match up. "Triangular"
describes the situation where Table A relates to Table B which relates to Table C ...which
relates back to Table A. Whenever two of the three tables are used in a query, the third is
added automatically, and the proper joins will be enforced. While a relatively rare situation,
when it's mishandled this can lead to subtly erroneous reports.
As of version 3.0, Access ELF can handle joins between two tables which are connected by up to 5 different fields (though it's extremely rare to have more than two or three fields define a relationship).
Last Updated: March, 2002