Phil,
Welcome to FoxPro and the UT!
The absolute best way to make a report from more than one table is to SELECT exactly what you want into a CURSOR. Make sure the CURSOR is the current work area when you run your report. After the report is done, delete (USE) the cursor. Trying to make 3 related tables work properly is possible, but not worth the trouble.
In the report, do not put any tables in the data environment. Also, do not refer to the data in the Expression field of the report control as MyTable.MyField, just MyField. It will look for MyField in whatever table/cursor is current.
A fast way to get the "MyTable." part of "MyTable.MyField" out of your report controls is to USE MyReport.frx and look at the Expr field. You can even use REPLACE commands to do this! (Make a backup!)
You might like Markus Egger's article on the Frx Structure at
http://www.eps-software.com/isapi/eps.dll?KnowledgeBase~DisplayKBDocument~9Hope this helps. Post again with more questions.
>I am trying to design an report that uses informtion from three tables (calibration master, calibration details and calibration companies). I tried the obvious approach and added all three tables to the dataenvironment, and the persistent relationships (as defined in the dbc) were showing. But when I preview the report, I am unsuccessful in making all three tables move together.
>
>The calibration details (many) are related to the cal. master by the tool number (one). The calibration companies are related to the cal. master by the two letter calibration co. code.
>
>I am able to create these relationships programatically in the command window and have the tables move properly in browse mode. But what is the secret to successfully opening these three tables in a private datasession for the report? Its gotta be something obvious, but I'm not finding anything like this in help, tastrade or solutions.
>
>TIA,