I usually set the table location in code before I show the report. I'll
do the same here.
Here's the overall process. I'm writing a COM object that will pull the
data from the 8 data tables into the 8 working tables. Then, I will pass
an array of tables file names and the report name to my Crystal Viewer application
which will display the report. The SetTableLocation process is encapsulated
in the viewer.
This DLL that I'm working on now will gather the data to pass to the
the viewer application.
In my DLL's, I generally like to open tables as follows:
WITH This
IF ._OpenTable(.sDataPath + "enc_schdline", "Schedules", "Inv_No")
IF ._OpenTable(.sDataPath + "enc_details", "Details", "Line_Id")
ELSE
iRetVal = -100
ENDIF
ELSE
iRetVal = -200
ENDIF
ENDWITH
Normally, with only a few tables, this would be ideal, as it lets me
return a value which would indicate which table failed to open.
However, in this case, I will be opening 8 data tables and the 8 report
tables. So this contruct would have 16 different IF/ELSE/ENDIF statements -
not good.
I'm open to suggestion.
Everything makes sense in someone's mind
public class SystemCrasher :ICrashable
In addition, an integer field is not for irrational people