社区
VB基础类
帖子详情
如何在VB中調用Crystal Report中的Rpt檔而不是DSR檔. 希望提供Sample,在線等待..急..一定給分
jxxiaojian
2002-04-23 10:59:37
如何在VB中調用Crystal Report中的Rpt檔而不是DSR檔. 希望提供Sample,
...全文
102
2
打赏
收藏
如何在VB中調用Crystal Report中的Rpt檔而不是DSR檔. 希望提供Sample,在線等待..急..一定給分
如何在VB中調用Crystal Report中的Rpt檔而不是DSR檔. 希望提供Sample,
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jxxiaojian
2002-04-23
打赏
举报
回复
不好意思剛剛被我給試出來..
不過你給我的資料還是蠻有用..
謝謝..
wangsitao
2002-04-23
打赏
举报
回复
只能详细说明一下我的程序的API,你最好自己查一下CrystalReport的开发文档资料在CrystalReport8.0的安装目录下有
以下方法必须用CrystalReport编辑生成文件而不使用CrystalReport对象
1)PEOpenEngine打开引擎
无参数,有返回值 =1成功=0失败
2)EOpenPrintJob设定打印文件
jobnum = PEOpenPrintJob(App.Path + "\ducu.rpt")
参数为字符串 传入你的.RPT文件的全路径,返回值 jobnum为工作队列号
3)PESelectPrinterEX选择打印机
参数为PEOpenPrintJob的返回值
有返回值 =1成功=0失败
result = PESelectPrinterEX(jobnum)
4)得到.RPT文件中使用到的TABLE表的数量
tablecount = PEGetNTables(jobnum)
参数为PEOpenPrintJob的返回值
返回值TABLE表的数量
5)PESetNthTableLogOnInfo设定ODBC名
用PEGetNthTableLogOnInfo得到PELogOnInfo结构体
result = PEGetNthTableLogOnInfo(jobnum, i, PELogOnInfo1)
参数1为PEOpenPrintJob的返回值
参数2为第几个TABLE表(0是第一个)
参数3为PELogOnInfo结构体,是传出参数,不必赋值
有返回值 =1成功=0失败
PELogOnInfo1.ServerName = "MDB" + Chr(0)
"MDB"是我作成的ODBC连接的名称
result = PESetNthTableLogOnInfo(jobnum, i, PELogOnInfo1, 1)
参数1为PEOpenPrintJob的返回值
参数2为第几个TABLE表(0是第一个)
参数3为PELogOnInfo结构体,从PEGetNthTableLogOnInfo得到
参数4忘了,好象传1就可以了
6)result = PESetMargins(jobnum, RepLeft, RepRight, RepTop, RepBottom)设定报表的Margin
参数1为PEOpenPrintJob的返回值
参数2为报表左顶点X轴的值
参数3为报表右下点X轴的值
参数4报表左顶点Y轴的值
参数5报表右下点Y轴的值
有返回值 =1成功=0失败
7)PESetFormula设定报表文件参数值
formulacount = PEGetNFormulas(jobnum)得到.RPT文件Formula的数量
参数1为PEOpenPrintJob的返回值
返回值为Formula的数量
result = PEGetNthFormula(jobnum, FormulaN, nameHandle, nameLength, TextHandle, TextLength)
参数1为PEOpenPrintJob的返回值,FormulaN是第几个Formula(0是第一个)其他是传出参数,不必赋值
有返回值 =1成功=0失败
formulaName = String$(nameLength, 0)
result = crvbHandleToBStr(formulaName, nameHandle, nameLength)
此时formulaName为.RPT文件第FormulaN个Formula的名称,有返回值 =1成功=0失败
FormulaText="'"+"A"+"'"
result = PESetFormula(jobnum, formulaName, FormulaText)将A传给名称为formulaName的Formula
参数1为PEOpenPrintJob的返回值, 参数2为Formula的名称,参数3为Formula的值(字符)
有返回值 =1成功=0失败
8)PEDiscardSavedData使报表文件重新取数据
result = PEDiscardSavedData(jobnum)
参数1为PEOpenPrintJob的返回值, 有返回值 =1成功=0失败
9)PEOutputToWindow报表文件以Window打开
result = PEOutputToWindow(jobnum, "貸出期限超過者一覧", CW_USEDEFAULT, _
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, _
CW_USEDEFAULT + WS_BORDER + WS_SYSMENU + WS_VISIBLE + WS_MAXIMIZE, printhwnd)
参数1为PEOpenPrintJob的返回值,
参数2为WINDOW的标题,
参数3,4,5,6传就可以了
参数7为WINDOW的风格,
参数8为传出值,LONG型窗口句柄,
有返回值 =1成功=0失败
Dim PEWOptions As PEWindowOptions
PEWOptions.StructSize = PE_SIZEOF_WINDOW_OPTIONS
PEWOptions.hasGroupTree = 0
PEWOptions.canDrillDown = 0
PEWOptions.hasNavigationControls = 1
PEWOptions.hasCancelButton = 0
PEWOptions.hasPrintButton = 1
PEWOptions.hasExportButton = 0
PEWOptions.hasZoomControl = 1
PEWOptions.hasCloseButton = 1
PEWOptions.hasProgressControls = 1
PEWOptions.hasSearchButton = 1
PEWOptions.hasPrintSetupButton = 1
PEWOptions.hasRefreshButton = 1
PEWOptions.showToolbarTips = 1
PEWOptions.showDocumentTips = 0
PEWOptions.hasLaunchButton = 0
result = PESetWindowOptions(jobnum, PEWOptions)设定预览窗口上的控件
其他与报表文件输出到打印机一样
PEOutputToPrinter报表文件输出到打印机
result = PEOutputToPrinter(jobnum, Printer.Copies)
参数1为PEOpenPrintJob的返回值,参数2为印刷数量, 有返回值 =1成功=0失败
Dim PEPOptions As PEPrintOptions
PEPOptions.StructSize = PE_SIZEOF_PRINT_OPTIONS
result = PEGetPrintOptions(jobnum, PEPOptions)
PEPOptions.StructSize = PE_SIZEOF_PRINT_OPTIONS
PEPOptions.nReportCopies = nReportCopies报表印刷数量
PEPOptions.StartPageN = StartPageN印刷开始页
PEPOptions.stopPageN = stopPageN印刷结束页
PEPOptions.collation = PE_DEFAULTCOLLATION
result = PESetPrintOptions(jobnum, PEPOptions)设定打印式样
Dim PESOptions As PESectionOptions
Dim code As Integer
PESOptions.StructSize = PE_SIZEOF_SECTION_OPTIONS
PESOptions.Visible = PE_UNCHANGED
PESOptions.NewPageBefore = PE_UNCHANGED
If systotal2.Reg1.System.Other.Tokusoku = 0 Then
PESOptions.NewPageAfter = 1
Else
PESOptions.NewPageAfter = 0
End If
PESOptions.KeepTogether = PE_UNCHANGED
PESOptions.SuppressBlankSection = PE_UNCHANGED
PESOptions.ResetPageNAfter = PE_UNCHANGED
PESOptions.PrintAtBottomOfPage = PE_UNCHANGED
PESOptions.backgroundColor = PE_UNCHANGED_COLOR
PESOptions.underlaySection = PE_UNCHANGED
PESOptions.showArea = PE_UNCHANGED
PESOptions.freeFormPlacement = PE_UNCHANGED
PESOptions.reserveMinimumPageFooter = PE_UNCHANGED
code = PE_SECTION_CODE(PE_SECT_GROUP_FOOTER, 0, 0)
result = PESetSectionFormat(jobnum, 5000, PESOptions)设定REPORT式样
10)PEStartPrintJob打印报表
result = PEStartPrintJob(jobnum, True)
参数1为PEOpenPrintJob的返回值, 有返回值 =1成功=0失败
11)PEClosePrintJob关闭打印文件
result = PEClosePrintJob(jobnum)
参数1为PEOpenPrintJob的返回值, 有返回值 =1成功=0失败
12PECloseEngine关闭引擎
无参数,有返回值 =1成功=0失败
Err Msg: "Physical Database not found"
当使用Active Data驱动程序P2smon.dll运行
Crystal
Report
s时,可能会遇到'Physical Database not found'错误。解决方案包括检查p2smon.dll是否在System32目录,确保必要的运行时文件已安装,使用Dependency Walker检查依赖项,以及确认数据库未在运行时或设计时进行验证。此外,需要将
DSR
文件保存为
RPT
文件以检查'Verify On Every Print'设置。
Err Msg: "Physical Database not found"
本文
提供
了解决使用
VB
6和
Crystal
Report
s时遇到的物理数据库未找到错误的方法,包括确保p2smon.dll存在于系统目录、安装必要的运行时文件、使用Dependency Walker检查依赖项、避免加载旧版本的p2smon.dll、确认数据库不在运行时或设计时验证,并
提供
了将ActiveX Designer报告文件保存为
Crystal
Report
文件的步骤。
移相混合控制 LLC 谐振变换器低压增益工作特性研究(Simulink仿真实现)
内容概要:本文系统研究了开关频率大于谐振频率(fs>fr)工况下,移相混合控制LLC谐振变换器在低压增益区域的工作特性,深入分析其在变频与移相结合控制模式下的调制机理、工作模态划分及损耗分布规律。通过Simulink平台构建高保真仿真模型,对变换器在不同负载和输入条件下的电压增益、转换效率、关键器件电压电流应力等性能指标进行了全面仿真验证,重点探讨了其在低增益区间的软开关实现能力与效率优化潜力,旨在提升LLC变换器在宽范围输入输出应用
中
的动态响应与能源转换效率。; 适合人群:从事电力电子变换器设计、高频电源开发及相关领域的高校研究生、科研院所研究人员及企业研发工程师,要求具备扎实的电路理论基础、电力电子技术知识以及
一定
的Simulink仿真能力。; 使用场景及目标:①深入理解LLC谐振变换器在fs>fr条件下采用移相混合控制的内在工作机理与模态转换过程;②掌握利用Simulink搭建复杂谐振变换器精确仿真模型的方法与技巧;③分析并优化低压增益区的增益特性与损耗构成,为设计高效率、高功率密度的软开关电源
提供
理论依据和数据支持; 阅读建议:建议读者结合文
中
所述仿真模型,亲自复现仿真过程,重点观察不同控制参数(如移相比、开关频率)对电压增益曲线和关键波形的影响,并对比传统变频控制策略,深入探究混合控制在拓宽调压范围、提升轻载效率方面的优势,从而深化对现代高效谐振电源设计的理解。
基于粒子群优化算法的配电网光伏储能双层优化配置模型[IEEE33节点](选址定容)(Matlab代码实现)
内容概要:本文提出了一种基于粒子群优化算法(PSO)的配电网光伏储能双层优化配置模型,以IEEE33节点系统为标准算例,实现光伏发电单元与储能系统的协同选址与定容优化。该模型采用双层架构设计,上层以投资成本、运行经济性及网络损耗最小为目标优化设备配置方案,下层通过潮流计算评估系统在不同负荷场景下的运行性能,综合考虑电压稳定性、供电可靠性及可再生能源消纳能力,最终通过Matlab编程实现完整求解流程,为高渗透率分布式电源接入背景下的配电网规划
提供
了有效的技术支撑。; 适合人群:具备电力系统分析基础和Matlab编程能力的研究生、高校科研人员及从事新能源并网、智能配电网规划与优化的工程技术人员。; 使用场景及目标:①研究含高比例光伏接入的配电网规划与运行协同优化问题;②掌握双层优化建模方法与粒子群算法在复杂电力系统问题
中
的应用技巧;③为实际工程
中
分布式光伏与储能系统的科学选址与容量配置
提供
理论依据与仿真验证平台。; 阅读建议:建议读者结合Matlab代码深入理解双层迭代求解机制,重点关注算法收敛性分析、参数敏感性测试,并可通过更换初始种群、调整权重因子或引入其他标准测试系统(如IEEE69节点)进行对比实验,进一步验证所提模型的普适性与鲁棒性。
直流电机转速电流双闭环调速控制系统模型(Simulink仿真实现)
内容概要:本文详细介绍了基于Simulink仿真实现的直流电机转速电流双闭环调速控制系统模型,重点构建了由速度环和电流环组成的双闭环控制架构,通过合理设计PID控制器参数,实现对直流电机转速与电枢电流的高精度动态调节,显著提升了系统的响应速度、稳定性及抗干扰能力。该模型能够有效模拟电机在启动、突加负载等不同工况下的运行特性,具备较强的工程应用价值和教学研究意义; 适合人群:自动化、电气工程及其自动化、机电一体化等相关专业的高校本科生、研究生,以及从事电机控制、电力电子与运动控制领域研究的科研人员和工程技术人员; 使用场景及目标:①深入理解直流电机双闭环调速系统的工作原理与控制策略;②掌握利用Simulink进行电机控制系统建模与仿真的方法与技巧;③为课程设计、毕业设计、科研项目
提供
可复现的技术方案与仿真平台支持; 阅读建议:建议结合自动控制理论、电机与拖动基础等前置知识进行学习,动手搭建仿真模型并反复调试PID参数,深入体会内外环之间的耦合关系与协同控制机制,进一步可将所学方法迁移至其他类型电机或复杂控制系统的仿真研究
中
。
VB基础类
7,787
社区成员
197,583
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章