首页 > 开发 > 综合 > 正文

在vb中动态加载水晶报表rpt文件的方法

2024-07-21 02:27:39
字体:
来源:转载
供稿:网友
这个问题在很多论坛里边都有问到。但是一直没找到满意的答案。下边写出一个解决办法
dim sql as string
dim rstliushui as new adodb.recordset
dim rpt as new craxddrt.report
dim printapp as new craxddrt.application
if option2.value = true then
sql = "select * from n_ihbill where datediff(d,日期,'" & format(dtpicker1.value, "yyyy-mm-dd") & "')=0 and 住院号=" & cbopatient.itemdata(cbopatient.listindex)
else
sql = "select * from n_ihbill where datediff(d,日期,'" & format(dtpicker1.value, "yyyy-mm-dd") & "')=0"
end if
debug.print sql

rstliushui.open sql, adoconn, adopenforwardonly, adlockreadonly

if rstliushui.eof and rstliushui.bof then
msgbox "没有可用数据!", vbinformation
exit sub
end if

set rpt = printapp.openreport("cryliushui.rpt")
rpt.database.setdatasource rstliushui

call viewreport(rpt, "", "打印流水")
rstliushui.close
set rstliushui = nothing
这样就可以实现程序与报表的逻辑分离。如果用报表设计器。每次更改报表格式都需要编译程序。客户甚至可以自己更改报表格式。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表