用pb开发报表系统

用pb开发报表系统

ID:34716164

大小:55.12 KB

页数:8页

时间:2019-03-10

用pb开发报表系统_第1页
用pb开发报表系统_第2页
用pb开发报表系统_第3页
用pb开发报表系统_第4页
用pb开发报表系统_第5页
资源描述:

《用pb开发报表系统》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、用PB开发报表系统在建设某公司内部信息网的过程中,涉及到大量的DBF文件直接转换为HTML文件的应用,其他的文件格式(Excel,Access,以及大型数据库的查询)也有这方面的要求,由此用PB实现了基于ODBC查询的PSR文件生成工具。此生成器的原理是:1、通过取出表的结构,2、生成查询的SQL语法,3、SyntaxFromSQL()函数生成datawindow语法,4、create()函数生成数据窗5、将生成的数据窗进行修饰,包括增加对象、删除对象、修饰对象、布置对象等操作,进行数据窗的美化工作。6、将生成的数据窗用SaveAs()函数另寸为PSR文件。7、在HTML页中

2、使用插件方式或直接连接方式显示该PSR文件。在实现过程中,使用了数据窗函数Modify()的各种语法来实现对数据窗的修饰,如加入线条,加入文本、改变格式、颜色等。可修饰的内容如下图:该工具主要有以下特点:1、自动化对某些部门而言,需要处理的数据是动态变化的,如某销售公司,每天处理十几报表,报表的形式基本稳定,因此只需将更新后的数据拷贝到指定的位置,或在形成SQL语法时加入一定的条件,即可实现自动化的报表处理。处理时,将需要的报表循环,自动设置ODBC连接参数(用写注册表的方法),自动连接好数据库,打开报表对应的数据窗,检索记录,然后另存为预定的PSR文件即可。2、实用性该工具

3、特别针对查询而设计,可扩展到任何用ODBC连接的数据源,只要该数据源支持标准SQL查询即可。特别对于OA中或信息发布中需要将一些沿用已久FOX系统下的DBF文件发布而言,所做工作只要在一次定义后,按几个按钮即可完成。特别是在NOTES中只要将PSR文件作为附件直接插入到文档中,在客户端定义好Plugin,即可实现WEB发布。【技术要点参考】1、创建数据窗子对象通过数据窗的Modify()函数实现,语法:dw_report.modify('createtext(name=uc_text_001x="10"y="20"width="300"....')通过对具体对象(static

4、text,picture,rectangle,line,compute等)的属性赋值(注意括号的使用与匹配),如x,y,width,height,color,font,background.color,background.mode,expression,format等,即可实现对象的创建。创建对象时特别注意是加入moveable=1resizeable=1语法,实际上是将对象设为可移动,可变大小,这对于对象的调整是比较重要的。删除对象只需用如下语法:dw_report.modify('destroyuc_text_001')如何实现象PB开发环境下的创建对象的方式呢?1、建

5、立菜单(将bar的Toolbar的Objecttype设为MenuCascade方式,Item项为各可创建对象),2、各菜单Item的ClickedEvent中写入:parent.toolbarItemdown=false//使该ToolbarItem处于压下状态mf_createobject('STOP')统一调用函数mf_create_object([对象类别]),[对象类别]可自定以好,如"text","line"等3、mf_create_object函数如下(argument为stringobject_string)windowlw_sheetlw_sheet=par

6、entwindow.GetActiveSheet()ifIsValid(lw_sheet)thenlw_sheet.triggerevent('ue_createobject',0,obj_string)endif该函数取得当前打开的sheet窗口lw_sheet,然后调用该窗口下的ue_createobject自定义事件。4、在主窗口下,自定义ue_createobject事件,该事件主要响应如下:stringPassedStringPassedString=String(Message.LongParm,"address")//取出创建类型ifisnull(passeds

7、tring)orpassedstring='STOP'thenm_main.m_objects.toolbaritemdown=falseib_creatingObject=falsereturnendifib_creatingobject=True//等待dw_report的click事件来触发is_objectstring=passedstring//告知当前触发对象5、在dw_report的clicked事件中,写入以下语法:ifNOTib_creating_objectthenreturn//i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。