I updated my reply. You're closing the table, always use
use myTable in 0
or
select 0
use myTable
to preserve currently opened tables.
>I just tried without a private data session. The report continues to work, but the data problem after closing the report continues.
>
>Also, the problem seems to be unrelated to what was done to the report. My problem continues when the ChangeTray function is changed to just
parameters tcReportName, tnTray
>use (tcReportName + '.frx')
>use
>return
>
>>Is it possible for you to not use Private DS for report?
>>
>>>I am trying the approach from Cathy Pountney’s book “The Visual FoxPro Report Writer: Pushing it to the Limit and Beyond” to change the Expr field in MyReport.frx on the fly by editing the "DEFAULTSOURCE=" setting. It works fine in testing from the command prompt.
>>>
>>>Inside my program, it blocked the edit saying that the file was read only. I “excluded” the report from my Project Manager and that problem was solved. The remaining problem happens after I run this from a cmdButton(click) on my form:
ChangeTray("MyReport",3)
>>>report form ("MyReport") preview
>>>
>>>When control returns to my calling program, its data environment is empty, giving me messages like “No table is open in the current work area.” My calling form uses a private data session, and my report uses a private data session. The metacode for ChangeTray looks like
parameters tcReportName, tnTray
>>>use (tcReportName + '.frx')
>>>go top
>>>* Put tcReportName.Expr content into the array aLines
>>>* Find the “DEFAULTSOURCE=” line in aLines and change it to new tray #
>>>* Replace tcReportName.Expr with modified content
>>>use
>>>return
I am using the simple SET REPORTBEHAVIOR 80
>>>Any Ideas as to what is causing my problem?
>>>
>>>Bob
If it's not broken, fix it until it is.
My Blog