PB自定义报表

合集下载

pb报表自定义自定义

pb报表自定义自定义

医舟软件报表自定义操作指南
1.pb的安装
建议使用pb6。

安装使用默认值。

以下为启动项
2.数据库连接
A. 点击上图圈圈处
B. 点new, Name处创建一个实例,server如果是本机库为空,@157表明连接是ip为157尾数的服务器。

Id和密码根据帐套填写,然后apply.
3.新建实例
A.点击第一个红色图标,然后点file-new,指向报表源pbl文件,创建报
表实例。

点保存。

B.点击实例的右键,properties
点击libraries,browse,指向报表源文件,全选,打开。

点ok。

C.打开报表
在医舟软件中可以通过报表设置找到合适的接近的报表框架,在框架基础上微调会轻松很多。

同时记住报表名
4.报表修改
以上界面进行报表的拖动和调整。

Sql可以调用yizhou的其他主表结构。

Text窗口可以直接修改显示文字,name中为医舟表字段。

5.文件打包
A. 关掉所有窗口后点第三个project.
b.点new,application
C. 勾选改过的pbl文件,executable name选择实例名,点击红圈内执行提交。

以上蓝色光标处就是打包后的报表文件,后缀为pbd(源文件为pbl).
6.文件覆盖
将该文件覆盖到医舟目录.
点是。

7.如果其他电脑也要使用该报表,点击注册信息-上载程序,其他电脑重新登录时会自动下
载。

8.。

利用powerbuilder实现中国式报表的设计方法

利用powerbuilder实现中国式报表的设计方法

利用powerbuilder实现中国式报表的设计方法随着中国经济的不断发展,各个行业的信息化建设也在不断提升。

其中,报表系统是企业信息化建设中必不可少的一部分。

在中国,由于汉字的存在,报表系统的设计与国外有所不同。

本文将介绍利用PowerBuilder实现中国式报表的设计方法。

一、中国式报表的特点中国式报表主要有以下几个特点:1. 汉字排版由于汉字的存在,中国式报表在排版方面与国外有所不同。

汉字的书写方向是从上到下、从右到左,因此,中国式报表的排版也是从上到下、从右到左。

2. 纸张大小中国式报表使用的纸张大小一般为A4或B5,而国外报表一般使用Letter或Legal纸张。

3. 格式排版中国式报表中,每一行数据都有固定的格式,例如,第一列为序号,第二列为名称,第三列为编号等等。

这些格式是在设计报表时就已经确定好的,用户不可更改。

4. 页码设置在中国式报表中,页码的设置与国外有所不同。

在国外,页码一般位于报表的底部,而在中国式报表中,页码一般位于报表的右上角。

二、PowerBuilder报表设计方法PowerBuilder是一款功能强大的开发工具,它可以用于开发各种类型的应用程序,其中包括报表系统。

在PowerBuilder中,可以使用DataWindow控件来实现报表的设计。

1. 创建DataWindow控件首先,需要在PowerBuilder中创建一个DataWindow控件。

在创建DataWindow控件时,需要选择报表类型,可以选择Detail类型或Group类型。

2. 设计报表格式在DataWindow控件中,可以通过拖拽控件的方式来设计报表格式。

在设计报表时,需要注意以下几点:(1)设置纸张大小在DataWindow控件中,可以设置报表的纸张大小。

在中国式报表中,一般使用A4或B5纸张大小。

(2)设置页眉和页脚在中国式报表中,页码一般位于报表的右上角。

因此,需要在DataWindow控件中设置页眉和页脚,并将页码添加到页眉中。

用户自定义报表器操作手册

用户自定义报表器操作手册

A、进入工作环境运行程序目录中的 EXE 可执行文件进入用户自定义报表设计器,界面如下图所示。

B、开发报表。

a、点击快捷工具条上的[文件 ]->[ 创建定制类报表 ]按钮。

弹出下面的窗口b、这里我们选择【直接编辑SQL 方式】,点击【下一步】,出现下图所示的窗口12c、在图示中 1 号区域写入相应的 SQL 语句,点击【+】按钮在 2 号区域增加参数并选择对应的参数类型。

如下图所示。

这里我们共设置两个参数:as_sellercode,as_deptcoded、再点击[完成]按钮出现下图所示。

e、本例子中数据窗口风格选择【 grid】,右边的标题字体和内容字体设置相应的字体和大小,这里取默认值,点击 [创建 ]按钮出现下图。

f、这里以表头区的【 pub_empempcode_】t为例,右键选择【属性】项,出现下图所示)g、在上图的【文本】中输入相应的内容,如采购员工号。

这里的【标签( tag)】很重要,设置具体参数见后面。

点击【位置属性】,下图所示。

h、上图是设置相应的位置以及一些属性。

点击【属性表达式】,出现下图i、这里主要是写相应的表达式。

j 、点击[确认]按钮。

该文本属性设置完毕。

其它text 类似此设置。

下面设置 column 的属性。

这里我们以【 pub_emp_empcode】列为例,右键点击出现下图。

a、上图主要是设置列的常用属性,如名称等。

这里的【标签(tag)】是一项重要设置,设置具体参数见后面。

这里的【启用赋值服务】实现了其它列变化该列值自动赋值功能。

点击编辑属性出现下图。

b、这里设置列的编辑属性,如只读等。

点击【编辑类型】下拉框出现下图。

c、这里可以选择列的编辑类型如下拉数据窗口,下拉列表等,根据具体情况选择配置。

点击【格式】出现下图。

d、这里的列格式是设置列的格式,如日期型可以设置为 yyyy/mm/dd ,数值型可以设置为 #,##0 等。

e、位置属性和属性表达式和text 中类似。

如何用PB程序在excel画表格边框线

如何用PB程序在excel画表格边框线

如何用PB程序在excel画表格边框线,如何改变文字大小1.创建Excel对象eole=CREATEOBJECT(′Excel.application′)2.添加新工作簿eole.Workbooks.add3.设置第3个工作表为激活工作表eole.Worksheets(″sheet3″).Activate4.打开指定工作簿eole.Workbooks.Open(″c:\temp\ll.xls″)5.显示Excel窗口 eole.visible=.t.6.更改Excel标题栏eole.Caption=″VFP应用程序调用Microsoft Excel″7.给单元格赋值eole.cells(1,4).value=XM(XM为数据库字段名)8.设置指定列的宽度(单位:字符个数)eole.ActiveSheet.Columns(1).ColumnWidth=59.设置指定行的高度(单位:磅)eole.ActiveSheet.Rows(1).RowHeight=1/0.035 (设定行高为1厘米,1磅=0.035厘米)10.在第18行之前插入分页符eole.Worksheets(″Sheet1″).Rows(18).PageBreak=111.在第4列之前删除分页符eole.ActiveSheet.Columns(4).PageBreak=012.指定边框线宽度(Borders参数如下)ole.ActiveSheet.Range(″b3:d3″).Borders(2).Weight=313.设置四个边框线条的类型eole.ActiveSheet.Range(″b3:d3″).Borders(2).LineStyle=1(其中Borders参数:1-左、2-右、3-顶、4-底、5-斜、6-斜/;LineStyle值:1与7-细实、2-细虚、4-点虚、9-双细实线) 14.设置页眉eole.ActiveSheet.PageSetup.CenterHeader=″报表1″15.设置页脚eole.ActiveSheet.PageSetup.CenterFooter=″第&P页″16.设置页眉到顶端边距为2厘米eole.ActiveSheet.PageSetup.HeaderMargin=2/0.03517.设置页脚到底边距为3厘米eole.ActiveSheet.PageSetup.FooterMargin=3/0.03518.设置顶边距为2厘米eole.ActiveSheet.PageSetup.TopMargin=2/0.03519.设置底边距为4厘米eole.ActiveSheet.PageSetup.BottomMargin=4/0.03520.设置左边距为2厘米veole.ActiveSheet.PageSetup.LeftMargin=2/0.03521.设置右边距为2厘米eole.ActiveSheet.PageSetup.RightMargin=2/0.03522.设置页面水平居中eole.ActiveSheet.PageSetup.CenterHorizontally=.t.23.设置页面垂直居中eole.ActiveSheet.PageSetup.CenterVertically=.t.24.设置页面纸张大小(1-窄行8511 39-宽行1411) eole.ActiveSheet.PageSetup.PaperSize=125.打印单元格网线eole.ActiveSheet.PageSetup.PrintGridlines=.t.26.拷贝整个工作表edRange.Copy27.拷贝指定区域eole.ActiveSheet.Range(″A1:E2″).Copy28.粘贴eole.WorkSheet(″Sheet2″).Range(″A1″).PasteSpecial29.在第2行之前插入一行eole.ActiveSheet.Rows(2).Insert30.在第2列之前插入一列eole.ActiveSheet.Columns(2).Insert31.设置字体eole.ActiveSheet.Cells(2,1)=″黑体″32.设置字体大小eole.ActiveSheet.Cells(1,1).Font.Size=2533.设置字体为斜体eole.ActiveSheet.Cells(1,1).Font.Italic=.t.34.设置整列字体为粗体eole.ActiveSheet.Columns(1).Font.Bold=.t.35.清除单元格公式eole.ActiveSheet.Cells(1,4).ClearContents36.打印预览工作表eole.ActiveSheet.PrintPreview37.打印输出工作表eole.ActiveSheet.PrintOut38.工作表另为eole.ActiveWorkbook.SaveAs(″c:\temp\22.xls″)39.放弃存盘eole.ActiveWorkbook.saved=.t.40.关闭工作簿eole.Workbooks.close41.退出Exceleole.quit先把标题放到剪贴板上,再PASTE()到EXCEL中,代码如下: ::clipboard(ls_value)ao_object.range(ls_col+string(1)+":"+ls_col+string(1)).select() ao_object.activesheet.Paste()/**********************************************************/ /*函数名称:uf_dwsaveas_excel功能:将数据窗口数据导出EXCEL文件,并将EXCEL文件默认英文标题替换成中文。

PB制作报表操作手册V1.0

PB制作报表操作手册V1.0

PB制作手麻统计报表操作手册V1.01.原理跟制作文书单非常类似;但是有所区别,请谨记;2.PB制作手麻统计报表,需要制作2个DATAWINDOW,也即是制作2个单子;其中一个的表现形式采用原有的FREEFORM,另外一个的表现形式为GRID,分别制作2张单子,使用自定义查询参数进行联结;3.手麻统计报表的组成部分有4部分:详细会有截图进行阅览;a)左侧树形菜单列表;b)右侧上方查询条件;c)中间部分为固定交互按钮;d)主体下方为报表的实际数据展现区域;4.具体的操作步骤如下:设置数据库连接,跟文书单一样,不做解释;制作查询条件DATAWINDOW,新建一个PBL,然后点击【NEW】新建一个DATAWINDOW,在DATAWINDOW选项里面选择FREEFORM,点击确定,选择【SQL SELECT】,点击【NEXT】点击【CHANCEL】,点击【design】下拉菜单里面的【CONVERT TO SYNTAX】,转入到代码编辑模式,进行SQL代码的编写,见截图:截图里面的的模式下是SQL代码,AS后面的是查询条件,这个是根据用户要求来做查询条件,截图只是放入一个开始时间和结束时间;这个里面的begintime,endtime作为查询条件,进而跟第二个DATAWINDOW里面的参数进行联结;点击【RETURN】按钮,返回到界面模式,修改参数的名字,字段属性需要进行一定的修改,点击一个字段,选择右侧属性选项卡里面的【EDIT】,在【styletype】下拉选择【EditMask】风格,在MASK里面调整时间格式为:yyyy/mm/dd即可,在下方勾选一个日历操作选项【Drop-Down Calendar】,每做一步点击保存,保存名字自己自定义,调整好属性后,点击【Retrieve】,进行界面效果预览,如下图所示可以设置一系列的聚焦提示效果,提示文字以及聚焦显示手型图案,例如保存完之后,第一个DATAWINDOW已经完成;接下来制作第二个DATAWINDOW。

PowerBI中的自定义报表和仪表盘

PowerBI中的自定义报表和仪表盘

PowerBI中的自定义报表和仪表盘Power BI是一种流行的商业智能工具,它提供了丰富的数据分析和可视化功能,帮助用户从数据中获得有意义的见解。

其中,自定义报表和仪表盘是Power BI的两个重要功能,它们为用户提供了更灵活、个性化的数据展示和分析方式。

下面将介绍Power BI中的自定义报表和仪表盘,以及如何使用它们进行数据分析和洞察。

一、自定义报表自定义报表是Power BI中的一个重要特性,它允许用户根据自己的需求和要求创建定制化的报表。

用户可以选择不同的数据源,例如Excel、SQL Server、SharePoint和云服务等,将数据导入Power BI中。

然后,在Power BI的报表设计器中,用户可以添加和调整图表、表格、矩阵以及其他的可视化元素,以展示和分析数据。

用户还可以选择不同的主题和样式,使报表更加美观和易于理解。

同时,自定义报表还支持数据筛选、交互式的数据探索,以及对数据和图表进行格式化和计算等功能。

二、仪表盘仪表盘是Power BI的另一个重要功能,它可以将多个报表和数据集集中在一个页面上,提供全面的数据概览。

用户可以根据不同的数据需求,将相关的报表和图表添加到仪表盘中,并对其进行布局和排列。

仪表盘提供了一个集中展示数据的视图,使用户能够一目了然地了解数据的整体情况和趋势。

同时,用户还可以在仪表盘上添加交互式的过滤器,以便更深入地探索和分析数据。

仪表盘还支持自动刷新数据的功能,使用户能够始终获取最新的数据和见解。

三、自定义报表和仪表盘的应用自定义报表和仪表盘在Power BI中的应用十分广泛,适用于各种行业和领域。

下面以一个销售数据分析为例,介绍自定义报表和仪表盘的具体应用。

首先,用户可以通过自定义报表,创建销售数据的各种图表和表格,例如销售额趋势图、地理位置分布图、产品销售排行榜等。

用户可以根据时间、地理位置、产品类别等维度进行数据筛选和分析,深入了解销售状况和趋势。

如何在PowerBI中创建动态报表

如何在PowerBI中创建动态报表

如何在PowerBI中创建动态报表Power BI是一款强大的数据分析和可视化工具,它能够帮助用户从多个数据源中提取、转换和加载数据,并将其转化为专业、美观的报表。

在Power BI中创建动态报表可以使数据更具交互性和实时性,下面将介绍如何实现这一目标。

1. 数据源的设置在Power BI中创建动态报表之前,首先需要设置正确的数据源。

可以通过连接常见数据库、Excel表格、CSV文件等方式获取数据,也可以通过使用Power Query编辑器将多个数据源合并为一个。

确保数据源的准确性和完整性,可以有效地避免后续报表出现错误。

2. 数据建模在创建动态报表之前,需要对数据进行建模。

Power BI支持多种数据建模技术,包括关系型建模、星型建模等。

根据数据之间的关系,将数据表之间的关联关系建立起来,以便在报表中进行数据的交互分析。

3. 报表设计在Power BI中,可以使用多种可视化元素来设计报表,例如柱形图、折线图、饼图等。

根据报表需求,选择适合的可视化元素,并对其进行样式和格式设置,以使报表更加美观。

此外,还可以使用Power BI提供的其他功能,如条件格式设置、层次结构等,来进一步提升报表的可读性和易用性。

4. 设计动态交互Power BI中的动态报表是指用户可以通过交互操作来改变报表中的数据呈现方式。

为了实现这一目标,可以利用Power BI中提供的过滤器、切片器等功能。

通过设置过滤器和切片器,用户可以根据自己的需求对数据进行筛选和切片,以实现数据的动态呈现。

5. 数据刷新为了保证报表的数据实时性,需要设置数据的定期刷新。

Power BI提供了多种数据刷新的方式,可以自动定期刷新数据,也可以手动触发数据刷新。

根据不同的报表需求,选择适合的数据刷新方式,以保证报表中显示的数据始终是最新的。

6. 报表发布和共享当动态报表创建完成后,可以将其发布到Power BI服务中,并与他人共享。

可以选择适合的发布方式,例如通过Power BI桌面应用程序直接发布,或者通过Power BI服务中的共享功能进行发布。

pb报表制作powerbuilder报表制作教程pb报表编制教程步骤

pb报表制作powerbuilder报表制作教程pb报表编制教程步骤

pb报表制‎作powe‎r buil‎d er报表‎制作教程p‎b报表编制‎教程步骤在通常的管‎理信息系统‎开发过程中‎,总是有没完‎没了的报表‎需要制作,调试报表花‎费的时间也‎是最多而且‎乏味,还常常不能‎满足客户的‎要求。

如果能够让‎用户自己调‎整报表的格‎式和内容,然后将它保‎存下来,程序下次启‎动时若能自动‎调用保存了‎的报表格式‎那就方便多‎了。

实现原理Power‎B uild‎e r中有一‎种以PSR‎为后缀的特‎殊的保存报‎表的文件格‎式(本文简称P‎S R 文件),数据窗口可‎以直接读取‎P SR文件‎生成报表,而程序通过‎生成PSR‎文件,就可以实现‎动态报表格‎式的保存。

首先,通过设置数‎据窗口对象‎(datao‎b ject‎)中的文本、列等的Re‎s izea‎b le和m‎o veab‎l e属性为‎1来实现对‎象位置的拖‎动控制,通过数据窗‎口的Mod‎i fy函数‎实现对象值‎的更改(包括增加和‎删除)。

其次要保存‎报表格式。

在一个应用‎中,数据窗口对‎象的名称总‎是惟一的,将每一个数‎据窗口对象‎转化成PS‎R文件存于‎数据库表中‎。

在窗口打开‎时,程序先校验‎报表格式是‎否存在。

如果存在,将报表格式‎读出来放在‎一个临时文‎件当中,然后设置数‎据窗口(dataw‎i ndow‎)的数据对象‎(datao‎b ject‎)为这个报表‎文件,并提取数据‎;如果不存在‎,直接提取数‎据即可。

实现过程1. 建立一个数‎据库表用以‎保存报表格‎式文件,各个字段定‎义如下:2. 建立一个窗‎口w_te‎m p。

定义实例变‎量如下:strin‎g is_dw‎t ype,is_dw‎o bjec‎t//保存报表中‎对象的类型‎及名称3. 在窗口的O‎p en事件‎中加入如下‎代码, 校验报表格‎式是否存在‎,如果存在,读取定义好‎的报表格式‎到数据窗口‎。

blob emp_p‎i clong ll_ha‎n dlestrin‎g ls_dw‎o bjec‎t,ls_re‎p ortf‎i le,ls_pa‎t hls_dw‎o bjec‎t = dw_pr‎i nt.datao‎b ject‎//判断是否存‎在该数据窗‎口的报表格‎式selec‎t count‎(*) into:ll_co‎u nt from dyn_r‎e port‎where‎dwobj‎e ct=:ls_dw‎o bjec‎t;if ll_co‎u nt>0 then//读取报表格‎式文件到大‎文本变量selec‎t blob‎memo into:emp_p‎i c from dyn_r‎e port‎where‎dwobj‎e ct=:ls_dw‎o bjec‎t;//创建PSR‎临时文件并‎保存到硬盘‎ls_re‎p ortf‎i le =‘\temp7‎089.psr’ll_ha‎n dle = FileO‎p en(is_re‎p ortf‎i le,Strea‎m Mode‎!,write‎!,LockW‎r ite!,Repla‎c e!) FileW‎r ite(ll_ha‎n dle,emp_p‎i c)FileC‎l ose(ll_ha‎n dle)dw_pr‎i nt.datao‎b ject‎= ls_re‎p ortf‎i ledw_pr‎i nt.settr‎a nsob‎j ect(sqlca‎)elseDw_pr‎i nt.settr‎a nsob‎j ect(sqlca‎)End ifDw_pr‎i nt.retri‎e ve()4. 保存报表格‎式,这可以通过‎C b_sa‎v erep‎o rt按钮‎的clic‎k ed事件‎实现。

PB EXCEL 操作

PB EXCEL  操作
4.打开指定工作簿 eole.Workbooks.Open(″c:\temp\ll.xls″)
5.显示 Excel 窗口 eole.visible=.t.
6.更改 Excel 标题栏 eole.Caption=″VFP 应用程序调用 Microsoft Excel″
7.给单元格赋值 eole.cells(1,4).value=XM(XM 为数据库字段名)
10.在第 18 行之前插入分页符 eole.Worksheets(″Sheet1″).Rows(18).PageBreak=1
11.在第 4 列之前删除分页符 eole.ActiveSheet.Columns(4).PageBreak=0
12.指定边框线宽度(Borders 参数如下) ole.ActiveSheet.Range(″b3:d3″).Borders(2).Weight=3
8.设置指定列的宽度(单位:字符个数) eole.ActiveSheet.Columns(1).ColumnWidth=5
9.设置指定行的高度(单位:磅) eole.ActiveSheet.Rows(1).RowHeight=1/0.035 (设定行高为 1 厘米,1 磅=0.035 厘米)
36.打印预览工作表 eole.ActiveSheet.PrintPreview
37.打印输出工作表 eole.ActiveSheet.PrintOut
38.工作表另为 eole.ActiveWorkbook.SaveAs(″c:\temp\22.xls″)
39.放弃存盘 eole.ActiveWorkbook.saved=.t.
40.关闭工作簿 eole.Workbooks.close

PowerDesigner如何自定义报表模板

PowerDesigner如何自定义报表模板

PowerDesigner如何自定义报表模板
PowerDesigner如何自定义报表模板
帅宏军
使用PowerDesigner设计数据库非常方便,但是它自带的报表模板一般不符合中国的使用情况。

如何设计一个自己的报表模板,并在做项目的数据库设计时引用这个模板呢?本文就这个问题提出一个解决方案。

1、新建一个自己的报表
使用上面菜单新建一个自己的报表,之后调整为自己需要的报表格式。

2、将自行修改的报表存为模板
使用上面菜单将自己定义的这个报表生成为模板,并另存为“我的报表模板.rtp”。

3、引用自己的报表模板
将这个文件复制到在你的安装路径E:\Program Files (x86)\Sybase\PowerDesigner 16\Resource Files\ReportT emplates 下,下次再新建报表时,就可以使用自己的报表模板了。

PowerBI教程使用数据模型构建业务报表

PowerBI教程使用数据模型构建业务报表

PowerBI教程使用数据模型构建业务报表PowerBI是一款为业务用户提供数据分析和可视化的强大工具。

它可以帮助用户从多个数据源中收集数据,并将这些数据进行整理、清洗和分析。

本教程将带你了解如何使用PowerBI的数据模型功能来构建业务报表。

第一步:数据准备在开始构建业务报表之前,首先要准备好数据源。

PowerBI支持多种数据源,包括Excel、SQL数据库、Salesforce等。

选择一个合适的数据源,并将数据导入PowerBI中。

第二步:理解数据模型PowerBI的数据模型是构建业务报表的基础。

数据模型是由多个表组成的,每个表都包含了一些字段。

这些字段可以通过关联来建立表之间的关系。

在构建报表之前,需要深入理解数据模型中各个表的字段以及它们之间的关系。

第三步:创建报表在PowerBI中,可以使用多种可视化组件来创建报表,包括柱状图、折线图、饼图等。

选择适合你的业务需求的可视化组件,并添加到报表中。

然后,通过选择合适的字段和设置相应的可视化选项,来展示数据的分析结果。

第四步:数据分析构建好报表之后,就可以进行数据分析了。

PowerBI提供了丰富的数据分析功能,包括排序、筛选、分组等。

通过运用这些功能,可以深入挖掘数据背后的洞察力,并对业务问题提供解决方案。

第五步:数据分享构建好的报表可以通过多种方式进行分享,包括保存到本地文件、发布到PowerBI服务等。

选择合适的分享方式,并对报表进行必要的权限设置,以确保数据的安全性。

通过以上五个步骤,你可以使用PowerBI的数据模型功能来构建业务报表。

而这些报表将为你提供可视化的数据分析结果,并帮助你迅速了解业务的状况以及未来的趋势。

无论是管理层还是业务分析人员,都可以通过PowerBI轻松地获取对业务的洞察力,并做出相应的决策。

有关PowerBI更深入的功能和应用,你还可以继续学习和探索。

随着不断的实践和经验积累,你将能够更加熟练地使用PowerBI来构建更加复杂和有效的业务报表。

PB动态报表格式自由定义的实现

PB动态报表格式自由定义的实现

PB动态报表格式自由定义的实现一、实现原理:PB中的报表其实就相当于是数据窗口。

第一步,动态报表的实现。

通过设置数据窗口对象(dataobject)中文本、列等的Resizeable 和moveable属性为1来实现对象位置的拖动控制,通过数据窗口的Modify函数实现对象值的更改(包括增加和删除)。

第二步,报表格式的保存。

在一个应用当中,数据窗口对象的名称总是唯一的,将每一个数据窗口对象转化成PSR文件存于数据库表中。

在窗口打开时,程序先校验报表格式是否存在。

如果存在,先将报表格式读取出来放在一个临时文件当中,然后设置数据窗口(datawindow)的数据对象(dataobject)为这个报表文件,然后提取数据;如果不存在,直接提取数据即可。

二、实现过程:1、建立一个数据库表用以保存报表格式文件。

表名:dyn_reportDwobject Varchar2(20) 数据窗口对象名称Primary keyRptitle Varchar2(80) 报表的标题名称Memo Long raw 报表格式2、建立一个窗口w_temp。

定义实例变量如下:string is_dwtype,is_dwobject //保存报表中对象的类型及名称控件名称控件含义Dw_print 数据窗口对象Cb_exit 退出按钮Cb_savereport 报表格式保存按钮3、在窗口的OPEN事件中加入如下代码, 校验报表格式是否存在,如果存在读取定义好的报表格式到数据窗口。

blob emp_piclong ll_handlestring ls_dwobject,ls_reportfile,ls_pathls_dwobject = dw_print.dataobject//判断是否存在该数据窗口的报表格式select count(*) into:ll_count from dyn_report where dwobject =:ls_dwobject;if ll_count>0 then//读取报表格式文件到大文本变量selectblob memo into:emp_pic from dyn_report where dwobject =:ls_dwobject;//创建psr临时文件到硬盘ls_reportfile = '\temp7089.psr'll_handle = FileOpen(is_reportfile,StreamMode!,write!,LockWrite!,Replace!)FileWrite(ll_handle,emp_pic)FileClose(ll_handle)dw_print.dataobject = ls_reportfiledw_print.settransobject(sqlca)elseDw_print.settransobject(sqlca)End ifDw_print.retrieve()4、报表格式的保存。

PB事件和自定义事件讲解

PB事件和自定义事件讲解

create by amu on 2012-08-16----------------------------------------------------------------------------------------1.window中的事件事件名触发的时机01.Activate 在窗口激活之前触发02.Clicked 当用户用鼠标单击窗口的空白区域(没有控件的区域)时触发03.Close 当关闭窗口时触发04.CloseQuery 当清除或关闭窗口时触发。

然后检查Message.ReturnValue的值,若为1,则窗口不能关闭05.Deactivate 当窗口变为非活动状态时触发06.DoubleClicked 当用户双击窗口的空白区域时触发07.DragDrop 当一个可拖动的控件被拖动到窗口上时触发08.DragEnter 当一个可拖动的控件进入窗口时触发09.DragLeave 当一个可拖动的控件离开窗口时触发10.DragWithin 当一个可拖动的控件在窗口内部拖动时触发11.Hide 在窗口被隐藏时触发12.HotLinkAlarm 在DDE中服务器应用已经发送了新的数据,客户DDE应用已经接收到这些数据时触发13.Key 当用户击了一个键且插入点不在RichTextEdit编辑控件或数据窗口控件时触发14.MouseDown 当用户在窗口的空白区域按下鼠标左键时触发15.MouseMove 当鼠标在窗口内移动时触发16.MouseUp 当用户在窗口的空白区域释放鼠标左键时触发17.Open 当程序调用以此窗口为参数的Open函数时,此事件在该窗口打开之后,显示之前触发18.Help .........19.Other 当一个非PowerBuilder事件的Windows信息发生时触发20.RButtonDown 在窗口的空白区域单击鼠标右键时触发21.RemoteExec 当一个DDE客户应用发送了一个命令时触发22.RemoteHotLinkStart 当一个DDE客户应用开始一个热连接时触发23.RemoteHotLinkStop 当一个DDE客户应用结束一个热连接时触发24.RemoteRequest 当一个DDE客户应用请求数据时触发25.RemoteSend 当一个DDE客户应用已经发送了数据时触发26.Resize 当用户或程序打开或重设窗口大小时触发27.Show 当程序运行此窗口的show函数时,此事件在窗口显示之前触发28.SystemKey 当插入点不在某个行编辑中且用户按了ALT或ALT加其它键时触发29.Timer 在调用Timer函数后,经过了Timer函数指定的时间后触发30.ToolBarMoved 当MDI窗口的工具条移动时触发以上是我新建一个window是window的事件原来的顺序,下面是我自己常用的排序:01.window打开时发生的事件事件名触发的时机Activate 在窗口激活之前触发Resize 当用户或程序打开或重设窗口大小时触发Open 当程序调用以此窗口为参数的Open函数时,此事件在该窗口打开之后,显示之前触发Show 当程序运行此窗口的show函数时,此事件在窗口显示之前触发02.window关闭时发生的事件Deactivate 当窗口变为非活动状态时触发CloseQuery 当清除或关闭窗口时触发。

PB自定义事件

PB自定义事件

pb中用户自定义事件内容Event ID 含义 内容浅析 单选或多选按钮消息前缀:pbm_bm pbm_bmgetcheck 单选按钮或多选按钮是否被选 pbm_bmgetstate 按钮是否加亮 pbm_bmsetcheck 将无线按钮或确认框的选中状态改为未选中状态,反之亦然 pbm_bmsetstate 加亮或不加亮按钮 pbm_bmchange 改变按钮的风格,例如,改为单选按钮或组合框 单选或多选按钮通知消息前缀:pbm_bn pbm_bnclicked 按钮控件被点中 pbm_bndisable 使按钮控件无效 pbm_bndoubleclicked 按钮控件被双点 pbm_bndragdrop 一个对象被放到按钮控件 pbm_bndragenter 一个对象被拖到按钮控件 pbm_bndragleave 一个对象被拖离按钮控件 pbm_bndragover 一个对象被拖经按钮控件 pbm_bnhilite 按钮控件被加亮 pbm_bnpaint 按钮控件被绘制 pbm_bnsetfocus 按钮控件获得聚焦 pbm_bnunhilite 按钮控件不被加亮 通用对话框消息前缀:pbm_cb pbm_cbaddstring 将字符串加到通用对话框 pbm_cbdeletestring 从通用对话框删除一个字符串 pbm_cbdir 加一个目录列表到通用对话框 pbm_cbfindstring 搜索以一组字符开头的字符串 pbm_cbfindstringexact 搜索与所提供的字符完全匹配的字符串 pbm_cbgetcount 列表框中的项数 pbm_cbgetcursel 当前被选项的数目 pbm_cbgetdroppedcontrolset 列表框在屏幕上的坐标位置 pbm_cbgeteditsel 编辑器控件中被选字符的范围 pbm_cbgetextendedui 缺省或扩展的用户界面 pbm_cbgetitemdata 重画的列表框中的4字节(32位)项 pbm_cbgetitemheight 列表框中某一项的高度 pbm_cbgetlbtext 列表框中的文本 pbm_cbgetlbtextlen 列表框中文本的长度 pbm_cbinsertstring 向列表框中增加新的字符串或4字节项 pbm_cblimittext 限制能被输入到列表框中的字符数 pbm_cbresetcontent 删除列表框中所有元素 pbm_cbselectstring 搜索匹配的字符串并显示 pbm_cbsetcursel 在列表框中选择并显示一项 pbm_cbseteditsel 在列表框的编辑区域中选择一块文本 pbm_cbsetextendedui 设置缺省或扩展的用户界面 pbm_cbsetitemdata 在列表框中设定4字节(32位)项 pbm_cbsetitemheight 设置列表框中项的高度 pbm_cbshowdropdown 转换(显示或隐藏)列表框中拖放区域 通用对话框通知消息前缀:pbm_cbn pbm_cbndblclk 用户在列表中某一项上双点 pbm_cbndragdrop 一个对象被放到通用对话框控件上 pbm_cbndragenter 一个对象被拖到通用对话框控件上 pbm_cbndragleave 一个对象被拖离通用对话框控件 pbm_cbndragover 一个对象被拖经通用对话框控件 pbm_cbndropdown 列表框的下放区域即将被显示 pbm_cbneditchange 编辑器控件中的文本发生变化 pbm_cbneditupdate 列表框编辑器控件中的文本即将被改变 pbm_cbnerrspace 列表框满,不能再向其中加入项 pbm_cbnkillfocus 通用列表框失去聚焦 pbm_cbnselchange 列表框中被选文本被改变 pbm_cbnselendcancel 用户按下了"取消"按钮 pbm_cbnselendok 用户按下了"确认"按钮 pbm_cbnsetfocus 通用对话控件拥有聚焦 数据窗口消息前缀:pbm_dw pbm_dwclosedropdown 关闭下拉式数据窗口 pbm_dwscrollend 在数据窗口中卷滚到最后一行 pbm_dwscrollhome 在数据窗口中卷滚到第一行 pbm_dwscrolllineend 卷滚到当前行的行尾(水平方向) pbm_dwscrolllinehome 卷滚到当前行的行首(水平方向) 数据窗口通知消息前缀:pbm_dwn pbm_dwnbacktabout 即将通过Shift+Tab组合键离开该控件 pbm_dwnchanging 控件即将被改变 pbm_dwndropdown 下拉式列表框的下拉部分即将可见 pbm_dwngraphcreate 即将创建图形 pbm_dwnitemchangefocus 数据窗口控件中当前项的聚焦改变 pbm_dwnitemvalidationerror 对当前项的修改引起了一个合法性检查错误 pbm_dwnkey 有键被按下使用KeyDown()处理键盘值 pbm_dwnlbuttondown 鼠标左键被按下 pbm_dwnlbuttonup 鼠标左键被松开 pbm_dwnmbuttonclk 鼠标中键点击 pbm_dwnmbuttondbclk 鼠标中键双击 pbm_dwnmousemove 鼠标移动 pbm_dwnprintmarginchange 打印边界被改变 pbm_dwnprocessenter 回车键被按下 pbm_dwnrowchange 数据窗口中聚焦从一行转向另一行 pbm_dwntabdownout 用户在数据窗口最后一行按了下箭头键 pbm_dwntabout 用户在数据窗口的最后一行/列中按了tab键 pbm_dwntabupout 用户在数据窗口第一行中按了上箭头键 动态数据交换(DDE)消息前缀:pbm_dde pbm_ddeddeack 收到一个DDE消息 pbm_ddeddeinitiate 开始一个DDE会话 pbm_ddeddeterminate 终止一个DDE会话 编辑器控件消息前缀:pbm_em pbm_emcanundo 编辑器控件是否能撤消上一次修改 pbm_ememptyundobuffer 清空由Windows管理的取消操作的缓冲区 pbm_emfmtlines 在多行编辑器控件的行尾增加或删除回车换行 pbm_emgetfirstvisibleline 返回编辑器控件中可见的第一行的行号 pbm_emgethandle 获得编辑器控件使用的内存句柄 pbm_emgetline 从编辑器控件中复制一行到内存中的一个缓冲区 pbm_emgetlinecount 返回多行编辑器控件的行数 pbm_emgetmodify 文本是否被用户修改 pbm_emgetrect 返回控件的长方形域 pbm_emgetsel 返回被选文本的起始位置 pbm_emlimittext 限制用户键入的文本长度 pbm_emlinefromchar 返回被选文本的行号 pbm_emlineindex 返回编辑器控件中被选行第一个字符在编辑串中的位置 pbm_emlinelength 返回编辑器控件中被选行中的字符数 pbm_emlinescroll 水平或垂直卷滚编辑器控件 pbm_emreplacesel 从剪贴板或从键盘上用新文本替换被选文本 pbm_emsethandle 设置编辑器控件的句柄指向内存中的一个缓冲区 pbm_emsetmodify 设置编辑器控件的modified标志 pbm_emsetpasswordchar 设置用户输入任何文本时显示的字符,在输入密码时的显示 pbm_emsetrect 设置/重置编辑器控件所在的长方形区域,编辑器控件中的文本被重画 pbm_emsetrectnp 除了不重画文本,大致与setrect相同 pbm_emsetsel 选择字符 pbm_emsettabstops 在多行编辑器控件中设置tabstops pbm_emsetwordbreak 设置新的词拆分函数 pbm_emsetwordbreakproc 设置新的词拆分过程 pbm_emundo 撤消最近的编辑操作 编辑控件通知消息前缀:pbm_en pbm_enchange 编辑器控件中的文本发生改变 pbm_enerrspace 编辑器控件内存缓冲区溢出 pbm_enhscroll 用户点中上水平卷滚条 pbm_enmaxtext 用户试图输入比允许更多的文本 pbm_enupdate 编辑器控件即将显示用户的修改 pbm_envscroll 用户点中了垂直卷滚条 列表框消息(前缀:pbm_lb) pbm_lbaddstring 向列表框控件中增加一项或一个字符串 pbm_lbdeletestring 从列表框中删除一项或一个字符串 pbm_lbdir 用目录列表填充列表框 pbm_lbfindstring 在列表框中搜索与所给字符串部分匹配的第一项 pbm_lbfindstringexact 在列表框中搜索与所给字符串精确匹配的第一项 pbm_lbgetcaretindex 在列表框中搜索拥有聚焦的项 pbm_lbgetcount 确定列表框中的项数 pbm_lbgetcursel 确定所选项是第几项 pbm_lbgethorizontalextent 获得列表框的宽度计算水平卷滚 pbm_lbgetitemheight 确定列表框控件中项的高度 pbm_lbgetitemrect 确定列表框的尺寸 pbm_lbgetsel 获得列表框中当前所选的项 pbm_lbgetselcount 在多选列表框中获得所选项的数目 pbm_lbgetselitems 用列表框中表框各自的项号填充一个给定的整数数组 pbm_lbgettext 获得列表框中当前所选项的文本 pbm_lbgettextlen 获得列表框中当前所选项的文本中的字符数 pbm_lbgettopindex 确定列表框中可见的最上面一项的项号 pbm_lbinsertstring 向列表框中加入一个新字符串 pbm_lbresetcontent 重置(消除)列表框中的内容 pbm_lbselectstring 搜索并加亮与所给字符匹配的字符串 pbm_lbselitemrange 选择/取消列表框中某一范围中的项 pbm_lbsetcaretindex 设置列表框中的某一项拥有聚焦 pbm_lbsetcolumnwidth 设置列表框中列的宽度 pbm_lbsetcursel 在列表框中选择并加亮一项;如果需要,卷滚到列表框 pbm_lbsethorizontaltext 设置列表框中被水平卷滚的单元数 pbm_lbsetitemdata 设置与列表框相关的32位/4字节值 pbm_lbsetitemheight 设置列表框中项的高度 pbm_lbsetsel 在列表框中选择一个字符串 pbm_lbsettabstops 设置列表框控件中tabstops的位置 pbm_lbsettopindex 卷滚列表框使特定的项成为可见的最上面一项 列表框通知消息前缀:pbm_en pbm_endblclk 用户在列表框控件中的某一项上双击 pbm_enerrspace 用户试图超越可在列表框中输入字符的最大限制 pbm_enselcancel 当前选取文本被取消 pbm_enselchange 用户在列表框中选择或取消了一项 窗口消息前缀:pbm_ pbm_activateapp 被激活的窗口属于另外一个应用 pbm_askcbformatname 要求剪贴板中的内容被复制到一个使用自定义格式的文本缓冲区中 pbm_char 传送键盘上按下的键 pbm_chartoitem 通过转换键盘来的字符,帮助列表框定位其中的项 pbm_childactivate 一个子窗口被移动或激活 pbm_clear 用户要删除当前编辑器控件中的内容 pbm_command 用户选择了一个菜单项控件,或使用了加速键 pbm_compacting 系统内存资源不足;当Windows占用了多于1/8的CPU时间紧缩内存时,产生这条消息 pbm_compareitem 当新的一项被加入列表框或组合框时产生此消息,Window用这条消息进行项之间的比较 pbm_ctlcolor 一个控件即将被画出,可在此时改变控件的颜色 pbm_deadchar 用户选择了一种非英语字符集或其它特殊字符集,这将改变下面将要输入的字符 pbm_deleteitem 从列表框或通用对话框中移去一项 pbm_destroyclipboard 剪贴板内容被清除 pbm_devmodechanged WIN.INI中的一个设备名被修改 pbm_drawclipboard 剪贴板内容发生改变 pbm_drawitem 列表框或通用对话框的一项内容被改变 pbm_dropfiles 当鼠标左键在一个注册为拖放文件接受器的应用上释放时,发出该消息 pbm_erasebkgnd 窗口的客户区需要重画 pbm_fontchange 应用可用的字体数改变 pbm_getdlgcode 通知消息,说明当前使用哪种类型的键盘 pbm_getfont 获取当前激活的字体 pbm_getminmaxinto Windows正在检查最小化或最大化窗口的尺寸 pbm_gettext 从一个控件(如按钮或编辑器控件)中复制文本到一个内存缓冲区 pbm_gettextlength 用来确定一个控件中的字符数 pbm_hscrollclipboard 剪贴板的水平卷滚条被使用 pbm_iconerasebkgnd 一个最小化窗口需要重化背景 pbm_initdialog 一个对话框即将被显示 pbm_initmenu 一个菜单即将被显示 pbm_initmenupopup 一个弹出式窗口即将被显示 pbm_keydown 键盘上的一个键被按下 pbm_keyup 键盘上的一个键被释放 pbm_mdiactive 一个MDI子窗口(表单)被激活 pbm_mdicascade 以重叠的形式重排所有的表单 pbm_mdicreate 创建一个表单 pbm_mdidestroy 从MDI框架中移去一个表单 pbm_mdigetactive 获得当前活动的MDI表单的句柄 pbm_mdiiconrange 在一个MDI框架中重排最小化表单的图标 pbm_mdimaximize 最大化一个MDI子表单 pbm_mdinext 激活下一个MDI表单(紧接着活动表单的表单) pbm_mdirestore 把MDI表单恢复到它原来的大小 pbm_mdisetmenu 将一个菜单与一个MDI表单联系起来 pbm_mdifitle 平铺所有的MDI表单 pbm_measureitem 这个消息被送给即将创建的内有按钮或其它控件的窗口 pbm_menuchar 用户使用了一个快捷键,但系统不支持该快捷键 pbm_menuselect 用户选择了一个菜单项 pbm_mouseactivate 用户在一个非活动窗口中点击了鼠标 pbm_mousemove 用户移动了鼠标 pbm_ncactivate 窗口的非客户区即将被激活 pbm_nccalcsize 窗口的尺寸需要重新计算 pbm_nccreate 窗口即将创建它的非客户区 pbm_ncdestroy 窗口的非共享区被析构 pbm_nchittest 每次非客户区被移动时都发送该消息 pbm_nclbuttondblclk 用户在非客户区双点了鼠标左键 pbm_ncpaint 非客户需要画出 pbm_nextdlgctl 在对话框中将聚焦转给另一个控件 pbm_paint 窗口的客户区需要被画出 pbm_paintclipboard 剪贴板应用有剪贴操作,剪贴板查看器需重画 pbm_palettechanged 系统调色板被改变 pbm_paletteischanging 系统调色板即将被改变 pbm_parentnotify 通知父窗口一个子窗口即将被创建 pbm_querydragicon 用户要拖一个最小化窗口 pbm_queryendsession 通知消息,说明窗口即将被关闭 pbm_querynewpalette 应用即将收到输入聚焦,应该执行必要的颜色调整 pbm_queryopen 一个最小化窗口即将被恢复 pbm_quit 应用处理的最后一个消息 pbm_renderallformats 通知一个剪贴板格式的拥有者,应用将失去所有的格式 pbm_renderformats 通知消息,说明放在剪贴板中的数据应该用一种特殊格式传送 pbm_setcursor 通知消息,说明鼠标指针在一个窗口中移动 pbm_setfont 用来在对话框中改变字体 pbm_setredraw 在加一个新项之前发送给列表框或通用对话框 pbm_settext 用来改变窗口的标题或文本 pbm_sizeclipboard 剪贴板查看器应用改变尺寸 pbm_spoolerstatus 一个打印管理器任务被添加或删除 pbm_syschar <ALT>键和其它某键同时被按下 pbm_syscolorchange 一种或多种系统颜色被改变 pbm_syscommand 用户选择了一个系统菜单命令 pbm_sysdeadchar 通知消息说明一种非英语字符集被选定 pbm_syskeydown 用户按下某键的同时按下了<ALT>键 pbm_syskeyup 用户释放了<ALT>组合键 pbm_timechange 系统时钟被修改 pbm_undo 从undo缓冲区复制文本到编辑器控件 pbm_vkeytoitem 当一个列表框拥有聚焦时,用户按下了一个键 pbm_vscroll 用户点击了垂直卷滚条 pbm_vscrollclipboard 剪贴板查看器的垂直卷滚条被点击 pbm_windowposchanged 窗口位置发生改变 pbm_windowposchanging 窗口位置即将发生改变 pbm_wininichange WIN.INI文件被修改 。

自定义报表的操作步骤

自定义报表的操作步骤

自定义报表的操作步骤宝子,今天来和你唠唠自定义报表的操作呀。

咱先说为啥要自定义报表呢 ?有时候呀,系统自带的报表不能完全满足咱的需求,自定义报表就能按照咱的想法,把想要的数据组合、呈现出来,超酷的。

那开始操作啦。

第一步,你得找到报表工具入口哦。

这个入口可能在你使用的软件或者系统的菜单里,就像在一个装满宝藏的箱子里找钥匙一样,要仔细瞅瞅那些菜单选项,可能是在“数据”或者“报表”之类的大分类下面。

找到入口后,就开始定义报表的结构啦。

这就像是搭积木,你要决定哪些数据块是你想要的。

你可以选择不同的数据源,可能是数据库里的不同表格,或者是从其他文件导入的数据。

这个时候呀,你要清楚自己想要分析哪些数据,是销售额、用户数量还是别的啥。

接着呢,选择数据字段。

这就好比是从一堆漂亮珠子里挑出你想串成项链的那些珠子。

比如说你要做一个员工绩效报表,那员工姓名、业绩完成量、考勤情况这些字段就是你要挑出来的珠子啦。

然后呀,设置报表的格式。

你想让报表看起来美美的吧?可以调整字体、字号、颜色这些。

就像给你的报表穿上漂亮衣服一样。

要是数据有排序的要求,这个时候也可以设置哦,比如按照销售额从高到低排列,这样重要的数据就一目了然啦。

再之后呢,要是有计算的需求,可别忘了设置公式呀。

比如说你想算出平均销售额,就得设置好求平均值的公式。

这就像是给报表加上了一个小魔法,让数据自己算出你想要的结果。

保存好你的自定义报表。

给它取个好记的名字,这样下次要用的时候就能一下子找到它啦。

宝子,自定义报表不难的,就像玩一个有趣的游戏,按照这些步骤来,你也能做出超实用的自定义报表哦。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关键 词



或打 印 的数据 列 ,并 能按 选 中的 次序 重新排 序 的 P 自定 义报 表 。 B
P B,D t n o aa dw,随意 指 定 ,数 据 列 , 自定 义报 表 Wi
P B是进行数 据库软件 开发较 常用 的工 具 ,其 获得多 项专
利技术 的 D t no aa dw控件 能让开发 者很方 便地 向用户显 示或 Wi
中新建表 t p ( _ C 具体定义如图 2 所示 )。
在 O B D C数 据 源 管 理 器 中 新 建 连 接 S l e e q S r r中 P _ p r v B r ot e
数据 库 的系 统 D N,取 名 为 P _ pr。 S B r ot e
维普资讯
四 、新 建 功 能 窗 口
新 建 一 个 Widw n o ,取 名 为 w c 。在 其 Tt _p ie属 性 中 输 入 : l 产 品 管 理 , Wi o ye属 性 选 择 : rsos ! , 添 加 一 个 n wT p d epne D t n o 件 和 三 个 C m ad ut a Widw控 a o m n B t n控 件 ( 观 及 各 控 件 的 o 外 名 称 如 图 4所示 ) ,并 进 行 如 下操 作 。






















_
实用第一 智慧密集
is l Io e(0t e f qc a, c d hn
mesg bx Sa eo ( 错误- 连接失败 请尝试使用其他的数据 强 id pi ! it s n、 | o g 鼍I — l
r1 r e n u I
打印各 种数据 、报表 。也有很多 的第 三方软件 为 P B提供 强大
澧 b eh p
v cr ah r皇

的 自定义报表功能 ,使开发者 能满 足用 户对报表的个性要求。 但用户不 同时间对报表 的要求不尽相 同 ,使 用同一软件的不同
用户对报表 的要求也不尽相 同。开发者 遇到此种情 况 ,只能根 据用 户的新要 求重新设 计制作 D tWi o a n w对象 ,并 生成新 的 a d
在 O e 件中输入如下代码 : pn事

婚 辘≈ 囊 嚣 | 整 C O 0 1 1 33 2 5rM' P 02 1 1 2 4 22 10 , 1 1 a 钙奶 C O 1 2 13 43 3 0m津 莓奶 P 004 32 3 2 242 0 C O 1 53 2 23 3 10 l莓奶 P 056 45 13 3 1 5ml g
维普资讯



根 据 T blr 型 D t no 对 象的 特 性 , 通过 st lm ( 、gto mna e ) aua 类 aa dw Wi ec u n ) ecl nm ( 、 o u
dsre) oi(等函数的巧妙运用,制作出让用户在使用中随意指定需要显示 ecb(、m dy ) i f
列 。根据这一特性 ,我们可 以先制作 出包含所有 可供 显示 的数 据项 ( )的 T b l 类型的 D t n o 象 ,再在软件 中增 列 au r a a Wi w对 a d
图 2 数 据表结构
加必要 的代码 ,允许用户在使用 中随意指定需要显示 或打印的
数据项 ( ),并按选 中的序重新排列 ,隐藏没有选 中的数据 列 项 ( )。如此 ,即可实现能允许用户 随意指定数据 项 ( 列 列) 及顺序 ,友 好性 和通用性极 佳的 P B自定义报表 ,而且不需要 借助任何第三方 软件 。
|辫 藿 | 0 驹 Q § 瓶装 04 0 0 15 0 屋顶装 1 5 5 2 2O 0 瓶装 09 5 5 10 4
图 1 报 表 类 型 之 一


设 置 OD C数 据 源 B
在 S LSr r Q v 中新建数据 库 ,取名 为 P _ pr,并在该库 ee Br ot e
可执 行 文 件 。
美c q t x m 薹c b J z
d s b1
v皇 ar r c h a va ● ar r c h .
it rt
3 1 0 3 。 6 1 0

cj b 血j J b  ̄z
s z hg kc l s

nny oe mly oe  ̄
-o y ne mo y  ̄e
8 8
8 8 9
D t no a Widw对象有 十多种 类型 ,T bl 类 型是 较常用 的 a aua r

种 ,能 很 容 易 地 制 作 出 ( 图 1 示 )带 报 表 标题 、页 码 等 如 所
的报表 。Tb l 类型 的 D t no au r a aa dw对 象中所包含 的所有 子控 Wi
用于f 据列选 择窗口传 递 D t n o 对象的名 称 致 a Wi w a d
s d gd tj a tn aa  ̄ me 。 t
产 品 信 息 表
产晶簟号 条形码 全荐

/ 用于从数据列选择窗口带回选择的数据列列表j 。 / 。
包装 戚本价 订户价
sd g j. tn s. 1 ̄me 誓- r -
萋: j l 1 s c j x 兰q z c l J k c 羔 z c
■ O n e ● y da n el o1 z c L i e m y dc , em i
8 5 8 5
件 可 以在 制作时或 软件 运行 中通过 特定 的代码 任意 移动 、排
PB
_

二 、添加全局 变量
在P B中 新 建 Wo Sae r pc ,取 名 为 P _ pr。 k Br ot e 在 新 建 的 Wokpc rsae中 新 建 一 个 A pi t n 取 名 为 p lai , c o
rpr,并 添加相应 代码 。 eot
在 Go aV r be 中 添 加 语 句 ,定 义 全 局 变量 : l l a al b i s
相关文档
最新文档