VB报表打印Word格式.docx
《VB报表打印Word格式.docx》由会员分享,可在线阅读,更多相关《VB报表打印Word格式.docx(14页珍藏版)》请在冰点文库上搜索。
看到这个界面,就知道,为什么两个文件都要和开发的程序放在一齐了。
安装成功后,打开程序主体软件,添加部件,选择ACRptEngineXLibrary,
会出现ACRptEngineX这个插件
好了,在窗体上一划,就出现。
现在介绍一下属性:
属性里面没有什么好修改的地方,一般我会将visible设置为flase,隐藏控件。
好了,可以进入里面去慢慢设计啦!
在VB里面调用ACRptEngineX,必须写命令,好吧,我来介绍以下命令的语法吧。
DimUserNameSAsString‘定义字符串变量UserNames
UserNameS="
fadsfa"
’赋值
ACRptEngine1.AddSysVariable"
Userns"
UserNameS‘这个是在打印文件中添加一个字符串变量Userns,内容是变量UserNameS的内容
开票日期"
Format(Date,"
yyyy"
)&
"
年"
&
Format(Date,"
mm"
月"
dd"
日"
‘也可以直接写内容
ACRptEngine1.Init‘初始化
sql1="
select*from发票打印where用户编号='
"
userp&
'
orderby卡号"
DimmrcAsADODB.Recordset’在使用这句语句的时候,必须在工程->
引用,添加MicrosoftActiveXDataobjectsRecordset2.8library
Setmrc=ExecuteSQL(sql1)’这个函数,是我自己写的,后面补上代码,大家可以自己写,就是一般的SQL操作,add,delete,rename之类的。
ACRptEngine1.AddDataSet"
发票报表"
mrc’调用
ReportPath=App.Path&
\"
whereRe="
发票报表.apt"
’这个是打印格式文件存放的路径
ACRptEngine1.SetReportFileReportPath+whereRe’设置路径,头一次使用,什么格式都没有,不影响,点击保存,文件就会以发票报表.apt保存,apt是该控件的格式文件。
ACRptEngine1.ShowDesigner’打开设计界面,设计完毕后就可以关闭该功能
ACRptEngine1.Preview‘打开预览,设置完毕后,直接进入打印预览
在按钮里面添加以上代码,然后点解运行,点击按钮,就可以进入设计界面
这里介绍一下设计界面的使用:
界面和功能基本上和Excle差不多的!
操作前,一定要先选取单元格哦!
这里要说一下子报表,这里,可以在表里面再插入报表。
具体用法,日后再介绍。
(大家可以自己研究)
关于插入数据字段:
ACRptEngine1.AddDataSet"
mrc就是这句的效果!
这里mrc是数据库查询的结果。
是不是很方便!
插入变量,这个Userns就是之前设定的变量啦!
就是这句ACRptEngine1.AddSysVariable"
UserNameS
插入函数,该控件里面提供的控件有很多,也很方便,表达式也很好用!
功能都跟excel差不多,大家很容易把握!
现在介绍一下打印样式,制表十分有用。
文件->
报表样式,选择清单报表
在明细数据里下拉选择之前添加的数据库变量,点击明细右边的选择按钮
,跳到行选择界面,
看到没有表头下面多了明细标签行。
预览一下
这里基本上符合了大部分设计者的要求啦!
这里顺便提一下关于通用发票的打印问题,现在的机打通用发票,尺寸一般不是固定的,电费,水费,餐饮,油票等都不一样,所以在设计之前,你必须拿到要打印的发票的准确尺寸,然后在控制面板->
打印机和传真->
服务器属性里,添加发票的尺寸
好了,基本的功能都讲到七七八八啦!
现在我介绍一下表中表的设计方法。
简单举个例子吧,你手头上有两个移动电话号码,同一个用户名,你想将清单按号码分开打,那怎么办?
哈哈,这时候,表中表就派上用场了!
首先当然是写代码啦
DimmrcAsADODB.Recordset
Dimmrc1AsADODB.Recordset
ReportPath=App.Path&
查询话费.apt"
Setmrc=ExecuteSQL("
select*from用户信息表"
)’这里查询的结果是用户的几个电话号码
Setmrc1=ExecuteSQL("
select*from打印查询话费where电话号码=’”&
mrc.field(“电话号码”)&
’”"
)’这里查询的结果是单个号码的清单,打印的时候也只能一个号码挨着一个号码打印,因为只能在进入表打印,或者表设计前进行变动,所以,打印完一个号码后,退出控件,在程序里,再调用下一个号码的清单,继续打印。
主表"
mrc
子表"
mrc1
ACRptEngine1.SetReportFileReportPath+whereRe
ACRptEngine1.ShowDesigner
ACRptEngine1.Preview
然后到报表设计了,首先新增一页做子表,
然后在相应的单元格(合并单元格,一正行)内,设置其属性如下:
选择子表为刚才的新建的一页。
子表的设计就更之前的一样。
因为只能在进入表打印,或者表设计后,内容是不能变动的,所以,打印完一个号码后,退出控件,在程序里,再调用下一个号码的清单,继续打印。
能知道的都说了,很高兴与大家一齐分享。
控件的分享地址是: