|
版主,我在用时发现了这么个问题:
在批量导出不同报表时,比如
blRet = ConvertReportToPDF("报表1", vbNullString, "uuu.pdf", False, True, 0, "", "", 0, 0)
blRet = ConvertReportToPDF("报表2", vbNullString, "uuu.pdf", False, True, 0, "", "", 0, 0)
blRet = ConvertReportToPDF("报表3", vbNullString, "uuu.pdf", False, True, 0, "", "", 0, 0)
时正确,都能导出。
但是当我反复导出报表1(每一次导出时,报表1的数据源的内容都不同)
比如每一次导出报表1,此时报表1是针对一班的成绩
比如每二次导出报表1,此时报表1是针对二班的成绩
比如每三次导出报表1,此时报表1是针对三班的成绩
代码如下:
。。。。为报表1的数据源改为1班成绩的vba代码,此处省略
blRet = ConvertReportToPDF("报表1", vbNullString, "uuu.pdf", False, True, 0, "", "", 0, 0)
。。。。为报表1的数据源改为2班成绩的vba代码,此处省略
blRet = ConvertReportToPDF("报表1", vbNullString, "uuu.pdf", False, True, 0, "", "", 0, 0)
。。。。为报表1的数据源改为3班成绩的vba代码,此处省略
blRet = ConvertReportToPDF("报表1", vbNullString, "uuu.pdf", False, True, 0, "", "", 0, 0)
后发现
生成的pd的三个f文件的内容都一样,都是一班成绩的数据(也即都为第一次导出时的内容)
反复调试后,我发现,每次在生成pdf前,程序都要将报表(或snp打开,我没细查),然后生成pdf,生成完后,程序并没将刚才打开的报表(或snp)关闭,一直到pdf生成完,在执行第二次ConvertReportToPDF时,就用的第一次没关闭的报表生成了pdf.
由于我只调用了modPdf 模块,估计在主窗体中有关闭报表的代码,但要在别的程序中嵌入这段代码的话,怎么实现 |
|