当前位置:文档之家› 易飞自定义报表之调用自定义函数

易飞自定义报表之调用自定义函数

易飞自定义报表之调用自定义函数
易飞自定义报表之调用自定义函数

上一次发表衍生字段的使用方法,在衍生字段中可以调用系统函数或者进行四则运算。本人的理解都是转换成可运行的SQL 语句。故可以在数据库执行函数都应该可以被调用,系统函数可以调用那自定义函数呢?

答案是对的。

首先进行一个简单的测试:日期转换格式自定义函数20100611—》2010-06-11

创建函数

create function Date10

(

@date8 nvarchar(8)

)returns nvarchar(10)

begin

declare @tmp nvarchar(10)

if @date8 is not null

begin

set @tmp=substring(@date8,1,4)+'-'+substring(@date8,5,2)+'-'+substring(@date8,7,2)

end

else

begin

set @tmp=''

end

return @tmp

end

注意必须加上ZE表示当前数据,因为易飞在处理集团业务的时候多公司就有多数据库(这点很无奈-不知道神码开发人怎么想?应该采用多地点方式,或者公司别)

否则就会找不到该函数(当然系统函数就不必要加)

再建一个自定义函数看看:

根据客户订单别订单号订单序号-查询到相关的工单。通常是一对一,但如果是拆单这个可能一对多

CREA TE function GetWO(

@TD001 AS V ARCHAR(10),@TD002 AS V ARCHAR(10),@TD003 AS V ARCHAR(10)

)returns varchar(100)

as

begin

declare @remarks varchar(100) ,@TA001 nvarchar(10),@TA002 V ARCHAR(10)

Declare MyCursor CURSOR

local static for select TA001,TA002 FROM MOCTA WHERE TA026=@TD001 and TA027=@TD002 and TA028=@TD003

Open MyCursor

while 1=1

begin

fetch MyCursor into

@TA001,

@TA002

if @@fetch_status<>0

break

IF @TA001 is not null

begin

set @remarks=rtrim(@TA001)+'-'+rtrim(@TA002)+' ' end

end

close MyCursor

deallocate MyCursor

return @remarks

end

好了看看效果吧!

excel利用vba定义函数的教程全解

excel利用vba定义函数的教程全解 用vba定义函数步骤1:例:下面表格中需要计算一些三角形的 面积 用vba定义函数步骤2:B列是底边长,C列是高,要求在D列 通过公式计算三角形面积。 (通常我们会在D3单元格用公式=B3*C3/2来计算,然后把这个 公式向D列下方拖动复制,得到其他公式。这只是一个简单的例子,通过它来学习编写简单的自定义函数) 用vba定义函数步骤3:打开VBA窗口 按ALT+F11调出VBA窗口,插入一个用户模块。 用vba定义函数步骤4:编写代码 把下面这个自定义函数代码粘贴到刚插入的用户模块中就可以使用了。 Functionsjxmj(di,gao) sjxmj=di*gao/2 EndFunction 这段代码非常简单只有三行,先看第一行,其中sjxmj是自己取的函数名字,括号中的是参数,也就是变量,di表示“底边长”,gao表示“高”,两个参数用逗号隔开。 再看第二行,这是计算过程,将di*gao/2这个公式赋值给sjxmj,即自定义函数的名字。 用vba定义函数步骤5:使用自定义函数 用vba定义函数步骤6:通过上面例子可以了解自定义函数的编 写和使用方法,下面再介绍一个稍微复杂点的自定义函数。

经常对数据进行处理的朋友可以会遇到多条件查找某一个数据,一般这种情况需要编写“数组公式”来解决,公式较长,也不易理解。 比如下面统计成绩的表格,需要根据A1:D7的成绩表,统计出两门功能都在90分以上的学生人数。 大家可以看到在H3单元格中的公式比较长,理解起来也有一定难度。 我们通过自定义函数也可以得到正确结果,函数代码如下: Function统计(a,b,c,d,e) Fori=1Toa.Rows.Count Ifb=a.Cells(i,1)Anda.Cells(i,c)>=eAnda.Cells(i,d)>=eThen 统计=统计+1 EndIf Next EndFunction 这个函数用了五个参数(因为涉及到一个区域和四个条件) 参数a表示要统计的区域,在此例中为B2:E7 参数b表示要统计的是哪一个班级,在此例中为G3单元格 参数d表示数学成绩相对于区域第一列向右的列数,在此例中为4 参数e表示分数,在此例中为90分 提示:要注意参数c和d“相对”于“区域”的列数,并非是从A列开始向右的列数。 把上面这段代码也粘贴到用户模块中就可以使用了

易飞自定义报表之调用自定义函数

上一次发表衍生字段的使用方法,在衍生字段中可以调用系统函数或者进行四则运算。本人的理解都是转换成可运行的SQL 语句。故可以在数据库执行函数都应该可以被调用,系统函数可以调用那自定义函数呢? 答案是对的。 首先进行一个简单的测试:日期转换格式自定义函数20100611—》2010-06-11 创建函数 create function Date10 ( @date8 nvarchar(8) )returns nvarchar(10) begin declare @tmp nvarchar(10) if @date8 is not null begin set @tmp=substring(@date8,1,4)+'-'+substring(@date8,5,2)+'-'+substring(@date8,7,2) end else begin set @tmp='' end return @tmp end

注意必须加上ZE表示当前数据,因为易飞在处理集团业务的时候多公司就有多数据库(这点很无奈-不知道神码开发人怎么想?应该采用多地点方式,或者公司别) 否则就会找不到该函数(当然系统函数就不必要加) 再建一个自定义函数看看: 根据客户订单别订单号订单序号-查询到相关的工单。通常是一对一,但如果是拆单这个可能一对多 CREA TE function GetWO( @TD001 AS V ARCHAR(10),@TD002 AS V ARCHAR(10),@TD003 AS V ARCHAR(10) )returns varchar(100) as begin declare @remarks varchar(100) ,@TA001 nvarchar(10),@TA002 V ARCHAR(10) Declare MyCursor CURSOR local static for select TA001,TA002 FROM MOCTA WHERE TA026=@TD001 and TA027=@TD002 and TA028=@TD003 Open MyCursor while 1=1 begin fetch MyCursor into

用友,速达自定义报表制作

(一)首先通过创建一个“销售汇总表”来说明如何使用“自定义报表”功能。【业务举例】 1。单击【报表定义】→【新建】,打开…未命名-选择数据视图?窗口; 2。单击“可选数据视图”下拉框,从列表中选择“进销存”项; 3。接着从下面的列表中选择“销售开单”和“销售开单明细”两项(用户在实际使用时,可以根据情况增加所需的其他数据视图),然后单击【>>】(如图); 4。单击【下一步】,打开…未命名-设置视图关系?窗口,通常系统会自动创建视图关系,按照默认的即可; 5。单击【下一步】,打开…未命名-输出字段?窗口; 有关该窗口的简要说明如下: …可选字段?窗口:包括了所选视图中默认的字段;是编制自定义报表中可输出字段的基础; …输出字段?窗口:经过选择后,这里的字段将会显示输出到自定义报表中。该窗口中包括了四列,其中,“字段”栏是系统默认的字段;“类型”栏是该字段默认的类型,用户不可修改;“统计”栏是各字段进行计算常用的功能,包括了合计、平均、计数、最大、最小等函数;“输出字段名”栏是自定义报表将要显示的表头项目,可以由用户自行修改。 【>>】逐项选择按钮。先选择左边的可选字段,再单击此按钮,则被选字段转入输出字段窗口; 【>>>】全部选择按钮。当可选字段全部需要时,直接单击此按钮,将可选字段一次性全部转入输出字段; 【<<】逐项删除按钮。先选择右边输出字段,再单击此按钮,则把被选择的已输出字段放回可选字段中; 【<<<】全部删除按钮。当已输出字段全部不需要时,直接单击此按钮,将已输出字段一次性全部放回可选字段中; 【上移】、【下移】如果需要调整输出字段的相对位置,可以先选择需要移动位置的字段然后再单击此按钮来进行调整; 【添加自定义字段】如果所需的字段系统未提供时,您可以单击此按钮来增加; 【修改自定义字段】只可以用来修改用户自己添加的自定义字段。

EXCEL VBA 新个人所得税税率自定义函数IN_TAX()及用法

Excel VBA新个人所得税税率自定义函数in_tax()及用法1、VBA代码 Public Function in_tax(in_month As Single)As Single Dim sl As Single,kcs As Single,ynse As Single'定义税率sl,扣除数kcs,应纳税额ynse变量 ynse=in_month-3500 Select Case ynse Case0To1500'如果应纳税额<=1500,税率3%,速算扣除数0。 sl=0.03 kcs=0 Case1501To4500'如果应纳税额(1500,4500],税率10%,速算扣除数105。 sl=0.1 kcs=105 Case4501To9000'如果应纳税额(4500,9000],税率20%,速算扣除数555。 sl=0.2 kcs=555 Case9001To35000'如果应纳税额(9000,35000],税率25%,速算扣除数1005。 sl=0.25

kcs=1005 Case35001To55000'如果应纳税额(35000,55000],税率30%,速算扣除数2755。 sl=0.3 kcs=2755 Case55001To80000'如果应纳税额(55000,80000],税率35%,速算扣除数5505。 sl=0.35 kcs=5505 Case Else'如果应纳税额>80000,税率45%,速算扣除数13505。 sl=0.45 kcs=13505 End Select If ynse<=0Then in_tax=0 Else in_tax=Round(ynse*sl-kcs,2) End If End Function 2、使用方法

EAS自定义报表

在报表制作整个流程中比较复杂的一步是建立数据源。EAS 中本来已经存在很 “.bos-table”,多BOS 的元数据,报表服务框架能拿来用的现在只有 2 种: “.bos-query”。“.bos-query”直接可以做为报表的数据源,另外还可以在这2种元 “java 数据源”、 、数据的基础上建立报表服务特有的数据源: “KSQL 查询”、 “数据加工” “多维数据集”、“自定义数据表”(后2种E AS5.3 暂时屏蔽)。这五种数据都可以作 为报表的数据源。 所有这些数据源之间以及和报表设计器之间的引用关系如下图所示: 2.1 BOS 元数据 BOS 元数据包括“.bos-table”和“.bos-query”两种。BOS 元数据是EAS 开发 人员或二次开发人员制作并发布到EAS 子系统树的。报表服务中的文件夹下没 有列出B0S 元数据,只有在新建数据源时或在报表设计器中引入数据源时才可 以看到B OS 元数据。 BIM 中制作的元数据(单据)怎样才能被报表服务平台所使用呢?流程如下:

金蝶E AS5.3 报表服务平台用户手册第2章数据源详解 制作BOS-QUERY —>发布—>生成工作流和单据转换平台目录—>重起EAS 服务器 这个是针对本地EAS 服务器,如果需要在其他服务器上也看到该QUERY,则 需要再进行一步“部署”的动作。 2.2 KSQL 查询 KSQL 是基于BOS 元数据基础上进行构建。bos-table 之间、bos-query 之间、 bos-table 和b os-query 之间都可以进行关联查询。KSQL 编辑器如下图: 在构建KSQL 时,可以在编辑器中通过可视化的步骤一步步来构建;也可以选 择“自定义查询”来自己编写K SQL,这个在查询一页将有讲解。 2.2.1 表 表页签的作用就是选择KSQL 中所用的表,如上图,左边列出了EAS 中所有的 元数据,包括b os-table 和b os-query 两种类型。可以通过展开“+”来看每一层下 的内容,也可以通过按钮过滤,如下图:

史上最全面的计算简体繁体汉字笔画的VBA自定义函数及汉字笔画字库

Function char_wordnum(my_char_word) '史上最权威最全面的计算简体繁体汉字笔画的VBA自定义函数及汉字笔画字库 'from bdQuaker 20140619 '笔画数据库来自在线新华字典 https://www.doczj.com/doc/158249544.html, 'VBA中一条语句内的换行符号,不能超过25个。 '函数功能:对输入的汉字,返回其笔画的数量。 Dim char_wordtable(31), wordnum_i, wordnum_j, wordnum_k, temp_wordnum temp_wordnum = "" If my_char_word = "" Then char_wordnum = 0 Exit Function End If char_wordtable(0) = "" char_wordtable(1) = "" char_wordtable(2) = " " char_wordtable(3) = " 亏马亇么门宀万卄女丬丌乞千犭刃刄三山彡上勺饣士尸扌氵巳纟" + _ "夊土乇丸亾兦亡尢囗卫?兀习夕下乡小忄彐卂劜丫幺也弋亿已义于亐与丈夂之子" char_wordtable(4) = "卬夭仈巴办勽贝币比卞仌不仓长尺车丑丒仇刅从亣歹丹邓弔订仃斗队仒厄乏反方分凤 " + _ " " + _ "闩双水亖太天邒厅圡屯屲瓦卐卍罓尣王韦厃为文毋勿午五乌兮心匂凶牙圠爻辷忆刈艺以弌冘引尹尤友肀予元円月曰匀云勻允帀扎兂仄仉爫爪止支中专卆" char_wordtable(5) = "艾屵凹叐叭扒白半包北本夯必弁边丙氷仢癶布卟仺册冊仧仩仦斥叱叺刍処出处丛匆刌打代歺旦石氹辺忉叨氐电叼汈鸟饤忊艼奵帄叮东冬乧叾对戹弍尓尔尒发犯氾払" + _ "冯弗付玍尕轧匃匄仠甘冮夰乬巪仡功句古冎叧瓜叏丱広宄氿归扖邗汉厈号禾仜弘讧乎囘卉屶屷汇伋记饥刉击叽甲加戋匞叫艽讦节钅丼冋匛旧纠凥且卡冚刊尻厼可叩" + _ "凷圦邝兰艻叻扐氻忇乐立厉屴礼辽另令龙卢圥劢邙矛夘卯们汅灭民皿末仫目母奶艿疒尼囜宁奴汃皮庀丕氕平叵圤扑讫邔刋阡仟巧邛卭芁叴犰扏囚玌丘去厺犮冉让讱" + _ "仞仭辸扔宂邚仨壭讪闪邖叶申圣生辻仕世丗示市史矢失朮术帅甩氺四丝司玊亗他它夳冭台叹讨夲朰田芀圢庁汀仝头凸阤仛讬外罒未戊阢务卌邜仚仙屳写阠兄玄穴廵" + _ "讯训疋圧央业凧匇匜仪肊议阣衤印囙用永由甴幼右邘驭玉込夗戉曱孕匝仔庂汄札乍占仗召厇氶正卮汁只主左" char_wordtable(6) = "吖阨伌安犴仰朳玐百阪邦闭毕朼夶邠冰并伧艸奼汊扱扠犲芆忏产辿伥场仯伡尘臣丞成朾弛池驰伬吃充冲虫岀汌舛传闯创朿次此汆伜存忖邨达汏刐伔凼圵当乭导氘朷" + _

自定义报表设计方案

东电ETL流程整理 项目名称:财务公司产品 时间:2016/1/6 作者:佟佰健

1.需求分析 整理ETL流程熟悉业务流程2.ETL流程梳理 2.1 总体流程 开始 业务模块ods抽取 财务模块ods抽取 核心系统开机前后时间记 录 执行sql脚本用于清除时间记录表中的非最大时间1若etl时间大于核心开机时间则不操作2若etl时间小于等于核心开机时间则更新DW_OPENTIME_NOTES表中,供dw层和dm层进行增量插入数据 根据核心开关机时间进行 日频度时间维表的更新 根据核心开关机时间进行 月频度时间维表的更新 各模块DW层工作调度 DM层工作调度视图更新

2.1.1 ODS 模块 2.1.2时间记录表更新 ≧ < 2.1.3 时间频度表更新 业务库中相关的业务模块所需表 加载到ODS 层中 业务库中财务模块所需表 加载到ODS 层中 取 ODSUSER.ODS_FS_SETT_OFFI 中最大的核心开关机时间 核心开关机时间和etl 时间进行比对 更新时间记录表 不操作

从时间记录表中取出最大开 关机时间 传入存储过程生成时间维 度表 2.1.4 DW 层数据抽取 财务和业务和资金相关表从 ods层抽取 加载到dw层 2.1.5 维表更新 根据不同规则从dw层抽取 数据 加载到dm层中生成公共维 度表 基准利率银行利率客户信息内部机构汇率授信类型信用等级投资业务详细类型

信贷余额分析集市 信贷发生额分析集市 发放贷款收益分析集市 贷款状态分析 贷款目标完成情况 结售汇基础集市 结售汇分析集市 2.1.6 dm 层业务转换 企业存款基础集市 企业存款余额分析集市 企业存款发生额分析集市 银行存款基础集市 银行存款余额分析集市 银行存款余额发生额分析集 调用东方水电 清除不符合条件的数据 信贷基础集市 投资同业分析集市 投资同业基础集市 同业业务基础集市 同业业务分析集市 资金主体 利率敏感性分析 结算分析基础集市 结算账户分析 银行账户基础集市 结算企业账户分析 结算分析集市 管理信贷监控分析 结算交易监控 资金变动分析 资金分析

易飞ERP问题解答

【问题】关账年月和账务冻结年月的含义 【解答】账务冻结年月:只会管控“审核和撤销审核影响库存的单据”,如果操作动作(保存、修改)不会影响库存,那么则不会管控。关账年月:不能够操作所有单据,包括不影响库存的单据。 【问题】服务器IP地址变更,修改了客户端yifeiconfig中的IP地址为新的IP地址,可是易飞开启一闪而过,所有客户端都如此,唯有服务器端正常 【解答】ConductorC.ini中的ComputerName中的IP地址为先前IP地址,修改其为正确IP地址,登录易飞正常 【问题】生成报表发生错误(There is no defult printer current) 【解答】这个报错是由于不存在默认打印机导致的,设置默认打印机即可。 【问题】做了预警设置,但是发出来的预警消息中,总是提示Creat MEssage error 【解答】将预计设置条件中,数据表前面加上$$就可以了。 【问题】客户端易飞简易安装后打开作业报错“作业文档不存在” 【解答】程序抓取服务器,需要将服务器安装文件conductor或(c_pkg、s_pkg、 c_modi、s_modi)设为共享,只有这样才能够调用作业程序。 【问题】打开易飞的时候,检视类别的位置是空白的 【解答】用conductor文件夹下面的DsUpdate.exe勾选‘更新环境设置档’‘更新公用元件’‘公用元件重新注册’并且选择‘一定更新文档’。 【问题】服务器防火墙开启后,客户端无法开启易飞 【解答】需要在防火墙中添加1433端口和SQL SERVER 【问题】门店的部门在哪里设置? 【解答】是在录入部门信息中设置。 【问题】在服务器上用管理员帐套登录易飞,队列工作控制台和派班中心报连接字符串无效, [Microsoft][ODBCB 驱动程序管理器]未发现数据源名称并且未指定默认的驱动程序? 【解答】将Conductors.ini文件下的MainServerName更改为服务器的ip的地址后,再登录没问题了。 【问题】易飞服务器和客户端都登陆不了,报错:LeaderWorkCenterS初始化失败,点击YiFeiConfig报错:ERROR:not a Hex String?左边的IP地址为:XXX XXX XXX?

“四舍六入五单双”利用VBA自定义函数解决

利用VBA自定义函数解决 业务研究加入时间:2007-3-9 20:42:35 点击:504 Microsoft Office套装办公软件是大家十分熟悉的办公软件,在工作中经常使用。但在水文工作中,仍然感觉到有很不方便的时候!比如,水文行业广泛使用的“四舍六入五单双”,就很难用Microsoft Office中的内部函数进行处理。但是与Microsoft Office套装办公软件绑定的VBA(Visual Basic For Application)语言提供了强大的二次开发功能,笔者以Excel为例,用它来解决上面所提到的问题,就非常容易了。 一、水文及水质资料使用的“四舍六入五单双”,执行《数值修约规范》(GB8170-87)1.拟舍弃数字的最左一位数字小于5时,则舍去,即保留的各位数字不变。 2.拟舍弃数字的最左一位数字大于5时;或者是5,而其后跟有并非全部为0的数字时,则进一,即保留的末位数字加1。 3. 拟舍弃数字的最左一位数字为5,而后面无数字或皆为0时,若所保留的末位数字为奇数(1,3,5,7,9)则进一,为偶数(2,4,6,8)则舍弃。 二、初识VBAIDE 打开Excel,按Alt+F11即进入VBAIDE,在菜单上依次点击[插入]->[模块],然后输入如下代码: ' “四舍六入五单双”自定义函数 ' 函数形式 Round5(x,mm),返回值Round5为 Double 型 ' X为操作数值,mm为保留小数位数 ' mm为 Integer 型,mm = 0 表示取整数 Private Function round5(X As Double, mm As Integer) As Double Dim Temp1, Temp2 As String Temp1 = 1 If mm < 0 Then Temp1 = 10 ^ Abs(mm) X = X / Temp1 mm = 0 End If If ((Int((Abs(X) - Int(Abs(X))) * 10 ^ mm) Mod 2) = 0 And (Abs(X) * 10 ^ mm - Int(Abs(X) * 10 ^ mm)) <= 0.5) And X <> Val(Round(Abs(X), mm) * Sgn(X)) Then round5 = Val((Round(Abs(X) - 10 ^ (-mm) / 5, mm))) Else round5 = Val(Round(Abs(X), mm)) End If round5 = Val( round5 * Sgn(X) * Temp1) End Function 以上程序是在“取绝对值(Abs)”、“取整(Int)”、“四舍五入(Round)”等系统内部函数的基础上完成的,函数的型式及其每个参数需要用户在属性设置中定义和声明,故叫做自定义函数。以上定义“四舍六入五单双”的函数名为Round5,定义成功后便可在Excel 中象系统函数那样引用了,例如对编辑完后按Alt+Q即返回Excel,再在某一单元格输入“= Round5(A1,3)”(A1既可以是单元格,也可以是输入的数值),回车结果就出来了。如果出现

易飞ERP系统作业操作手册

易飞系统作业操作手册目录 第一章基本作业操作____________________________________3 第一节主画面基本操作_____________________________________3 第二节录入作业基本操作___________________________________4 第三节打印凭证基本操作___________________________________10 第四节报表基本操作_______________________________________13 第二章品号与BOM 信息的建立___________________________18 第一节品号资料的建立_____________________________________ 18 第二节BOM 资料的建立____________________________________24 第三节相关报表的查询及列印________________________________27 第三章客户订单至生成批次需求计划_______________________28 第一节设置订单单据性质____________________________________28 第二节客户信息资料的建立__________________________________29 第三节报价单的录入________________________________________30 第四节客户商品价格的录入__________________________________31 第五节客户订单资料的录入__________________________________32 第六节订单变更单的录入____________________________________33 第七节生成批次需求计划维护及锁定__________________________34 第八节发放LRP采购单______________________________________37 第九节发放LRP工单_________________________________________38 第十节相关报表的查询及列印________________________________39 第四章请购单至采购进货_________________________________40 第一节设置采购单单据性质__________________________________40 第二节供应商信息资料建立__________________________________41 第三节采购核价单的录入____________________________________42 第四节供应商料件价格的录入________________________________43 第五节请购单资料的建立____________________________________44 第六节维护请购信息作业____________________________________45 第七节从请购单生成采购单__________________________________46 第八节采购单资料的建立____________________________________47 第九节采购变更单的录入____________________________________48 第十节采购进货单的录入____________________________________49 第十一节采购退货单的录入__________________________________51 第十二节相关报表的查询及列印______________________________52 第五章工单至入库及委外进、退货_________________________53

excel中161个VBA_自定义函数(超级实用)(精)

目录 '1.函数作用:返回 Column 英文字 (9) '2.函数作用:查询某一值第num 次出现的值................9 '3.函数作用:返回当个人工资薪金所得为2000元(起征点为850元时的应纳个人所得税税额.............................10 '4.函数作用:从形如"123545ABCDE"的字符串中取出数字....11 '5.函数作用:从形如"ABCD12455EDF"的字符串中取出数字...11 '6.函数作用:按SplitType 取得RangeName 串值中的起始位置12 '7.函数作用:将金额数字转成中文大写....................13 '8.函数作用:计算某种税金..............................18 '9.函数作用:人民币大、小写转换........................19 '10.函数作用:查汉字区位码.............................20 '11.函数作用:把公元年转为农历.........................21 '12.函数作用:返回指定列数的列标.......................42 '13.函数作用:用指定字符替换某字符.....................43 '14.函数作用:从右边开始查找指定字符在字符串中的位置...43 '15.函数作用:从右边开始查找指定字符在字符串中的位置...44 '16.函数作用:计算工龄.................................44 '17.函数作用:计算日期差,除去星期六、星期日.. (45) '18.函数作用:将英文字反转的自定函数 (46) '19.函数作用:计算个人所得税...........................46 '20.函数作用:一个能计算是否有重复单元的函数...........47 '21.数字金额转中文大写................................48 '22.函数 作用:将数字转成英文...........................49 '23.函数作用:人民币大小写转换.........................52 '24.函数作用:获取区域颜色值...........................53 '25.函数作用:获取活动工作表名.........................53 '26.函数作用:获取最后一行行数. (54) '27.函数作用:判断是否连接在线.........................54 '28.函数作用:币种转换.................................54 '29.函数作用:检验工作表是否有可打印内容...............55 '30. 函数作用:查找一字符串(withinstr在另一字符串中(findstr1中某一次(startnum出现 时的位置,返回零表示没找到。..................................................57 '31.函数作用:增加文件路径最后的“\”符号..............58 '32.函数作用:计算所得税...............................58 '33.函数作用:从工作表第一行的标题文字以数字形式返回所在列号..................................................58 '34.函数作用:在多个工作表中查找一个范围内符合某个指定条件的项目对应指定范围加总求和..........................59 '35.函数作用:返回

易飞ERP打印格式 设计方法

自定义单据的步骤 一、单据自定义的步骤(以销货单半页单据设计为例): ?在步骤中若有看到「注」请至文件后参考「三、备注说明」 STEP1:一单据多格式设定(所谓一单据多格式是指同一种单别有不同的单据格式) 订单管理系统->基本信息管理->单据性质设置 ①先选该单别 ②此处须勾选 ※如果在单据格式中输入单据格式的名称,那么在打印此单别的单据时,系统会自动Default 此单据格式 STEP2:在Microsoft Word里先编辑好单据样式(设档案为A1.DOC) STEP3:订单管理系统->异动单据打印->销货单打印->基本选项(如果要针对某单别设定单据格式,可以在“选择销货单别”处选择或输入单别代号) ->系统选项->打印使用格式(如果要新设格式则在此入格式名称)->点选设计凭证

STEP4:点选「设计凭证」后,即会出现此画面。[注一] *建议设计者在自定义单据时,将此画面COPY下来!(键盘上Print Screen Sys Rq->画图 ->Ctrl+V->打印)以方便设计单据时,方便查询各字段代号! 1. 性质:单头区段。每张单据的单头打印部分。设定的高度包含单身的中文字段名称。 2.QRDetailBand(区域二) 性质:单身一笔区段。设定的高度为可打印单身一笔资料。 3.QRGroupFooter(区域三) 性质:单身数据段。每张单据可打印的单身资料高度。范围由QRDetailBand(区域二)的底端 至该页可打印单身资料的高度,若资料不足,未到该页底端时,会印『//以下空白』 4.GroupFooterChildBand(区域四) 性质:单尾区段。每张单据的单尾打印部分可印单头金额合计、备注、签核等(也就是每张 单据只印一次的资料),当单据超过一张时,会印『接下页...』

基于自定义模板的通用报表设计

龙源期刊网 https://www.doczj.com/doc/158249544.html, 基于自定义模板的通用报表设计 作者:金百东 来源:《计算机时代》2009年第10期 摘要:提出了一种实现通用报表的新思想:将Excel文件转化生成自定义模板文件,模板文件包括报表的静态及动态两部分内容,静态部分主要封装了表格结构信息,动态部分主要封装了SQL语句以及与静态部分相关联信息,模板文件可以存入服务器数据库中;客户端通过通用打印组件完成报表的输出。 关键词:通用报表;自定义模板;Excel文件;通用打印组件 引言 目前,通用报表组件有两种常用开发方法:①利用第三方组件技术。第三方组件如水晶报表或国内的CELL系统软件等,这些系统均包含可视化的报表生成器,可以用它们方便地生成报表模板文件,打印输出则由系统提供的标准打印组件通过解释模板文件来完成。这种方法的优点是:编程量很少,一般来说只需要知道如何调用标准打印组件接口和这些接口所需要的参数就可以了。但是如果计算机配置较低的话,打印响应速度稍慢。另外报表系统软件价格较高。②完全重新开发,开发内容包括报表生成器及报表打印组件等。这种方法的优点是系统响应速度快,容易扩充。但是功能很难超越水晶报表等成熟软件,而且开发费时费力。 本文提出的实现通用报表的方法巧妙地继承了上述两种方法的优点,又弥补了它们的不足。所用开发平台是Visual C++6.0,数据库是sQL Server 2000。 1实现通用报表需解决的问题 通用报表开发的基本思路几乎都是一致的:即采用模板技术,先生成空模板文件,再用程序把数据填充到模板上。模板文件主要包含以下两部分内容: 静态部分对大多数企事业单位的报表来说,每种业务对应的报表形式是固定的,如行数、列数、文字说明部分、边框特征等,这些都属于静态框架描述部分。应用程序通过这些描述可以画出表格的结构。

Excel VBA编程 调用函数

Excel VBA 编程 调用函数 调用函数时,为了使用函数的返回值,必须指定函数给变量,并且用括号将参数封闭起来。 语法:函数过程名([参数列表]) 由于函数过程名返回一个值,故函数过程不能作为的单独语句加以调用,必须作为表达式或表达式的一部分,然后再配以其他的语法成分构成语句。 在调用函数之前,应首先来定义一个函数,如定义一个myreplace(S,Olds,NewS)函数过程,即用News 子字符串替换在S 字符串中出现的OldS 字符串。 例如,下面的程序是对前面自定义的函数过程CalculateSquareRoot 的调用,其代码如下: Private Sub CommandButton1_Click() Dim a a = InputBox("请输入数字") '调用CalculateSquareRoot 函数 MsgBox "计算平方根:" & CalculateSquareRoot(CInt(a)) End Sub 返回工作表中,单击【计算平方根】按钮,在弹出的如图9-3所示的对话框中,输入数字 25。然后,单击【确定】按钮,即可弹出如图9-4所示的效果。 图9-3 输入数字 图9-4 显示结果 注 意 “参数列表”称为实参或实元,它必须与形参保持个数相同,位置与类型一一对应。其中,实参可以是同类型的常数、变量、数组元素或表达式。 另外,在Visual Basic 中,通过WorksheetFunction 对象可使用Excel 工作表函数。例如,以下Sub 过程使用Min 工作表函数来确定单元格区域中的最小值,其代码如下: Sub UseFunction() Dim myRange As Range Set myRange = Worksheets("Sheet1").Range("A1:C10") answer = Application.WorksheetFunction.Min(myRange) MsgBox answer End Sub 从上述的代码可以观察到,用户将变量myRange 声明为Range 对象,然后将其设置为Sheet1上的A1至C10单元格区域。指定另一个变量answer 为对myRange 应用Min 函数的结果。最后,answer 的值显示在消息框中,效果如图9-5所示。 输入 单击

用VBA编写Excel自定义的累加函数

用VBA编写Excel自定义的累加函数 郑云勇 云南楚雄思远投资有限公司 摘要:Excel是常用的数据统计分析软件,本文介绍了用VBA编写加载宏的方法来扩展、定制Excel,以适合工程统计专业的特殊需要。下面,讨论如何实现一个自定义的具有任意合计形如“30.2m/165.45m3”的“分子/分母”工程量统计功能的函数,由于Sum函数系统已经内置,我们要实现的函数不妨命名为uLSum和uRSum。 关键词:Excel,定制,加载宏 1引言 电子表格软件Microsoft Excel具有快捷方便的数据输入方式和强大的数据处理能力,是工程地质中常用的数据统计分析软件,为我们的工作带来了极大的方便。但Excel毕竟只是一个通用的办公软件,对于工程专业中的各种特殊需求,它自然不会有专门的功能支持。比如:采矿工程师在做每年的采掘生产计划时,通常遇到要累加掘进工程量的合计数,即“30.5/125.6”加“120.2/625.8”的合计,我们通常的做法是分步完成,先将分子之、分母之和求出来后,在填入单元格中。或者将分子、分母分别填入两列中,分别用sum函数求和。这样既劳神,又容易出错,特别是对大量数据进行复杂的公式计算。如果从头编写一个独立、专门的计算程序来处理,则似有小题大作之嫌,而且还不能与Excel无缝集成。那么有

没有更好的解决办法呢?答案是肯定的,那就是定制Excel,通过编程扩展它的功能。 事实上,Excel作为Microsoft最优秀的软件之一,很早就开始提供了二次开发的接口,4.0版以前有XLM,4.0版又发布了Excel C API,5.0版则内置了VBA。现在的Excel,除了人所共知的操作功能外,还是一个完善的软件开发平台。它拥有完备的ActiveX Automation服务器和客户机机制,可以通过编程对其进行全方位的扩展、定制,实现各种自定义功能。基于ActiveX Automation技术,使用C/C++等多种支持Automation的编程语言均可控制Excel,但我们最为熟悉和常用的还是内置于Excel中的VBA。 2VBA简介 Visual Basic for Application(VBA)是Microsoft面向最终用户的应用软件编程语言。它最早出现于Microsoft的Excel和Project中,如今VBA已成为VB和所有Office产品的组件。另外,越来越多的软件开发商购买了VBA语言的使用权,如常用的绘图软件AutoCAD等均已支持VBA作为二次开发工具。这意味着我们懂得VB,就已经懂得了VBA,反之亦然。 VBA的最大特点和最大优点是利用面向对象(OOP)的ActiveX Automation技术,使语言的引擎在技术上与开发环境分离,这可以从在任何VBA的IDE环境中都可以看到VBA单独的入口得到印证。因此,VBA的功能在很大程度上依赖于它的客户显露的Automation 接口,例如,VB与Office套件中的VBA,能完成的功能就大不一样。

原创—EXCEL VBA SPC自定义函数包括CPK PPK CP……

'################## stdevR=average(max-min)/R系数组内差 Function stdevR(ParamArray rng() As Variant) As Variant Dim rang As Range, rngi As Range, T As Single, F As Single, i As Integer, e As Integer Dim trr Dim arr() Dim brr() For Each r In rng If rang Is Nothing Then Set rang = r Else Set rang = Union(rang, r) For Each c In r Next Next n = rang.Cells.Count aa = rang.Columns.Count bb = rang.Rows.Count cc = Application.WorksheetFunction.Ceiling(n / 5, 1) If aa > 1 Then ReDim arr(1 To bb) For i = 1 To bb Set rngi = rang(i, 1).Resize(1, aa) arr(i) = Application.Max(rngi.Value) - Application.Min(rngi) Next F = Application.WorksheetFunction.Average(arr) trr = [{0,1.128,1.693,2.059,2.326,2.534,2.704,2.847,2.97,3.078,3.173,3.258,3.336,3.407,3.472,3.532,3.58 8,3.64,3.689,3.735,3.778,3.819,3.858}] T = trr(aa) stdevR = F / T Else e = 0 ReDim brr(1 To cc) For i = 1 To cc Set rngi = rang(1, 1).Resize(5, 1).Offset(e, 0) brr(i) = Application.Max(rngi.Value) - Application.Min(rngi) e = e + 5 Next F = Application.WorksheetFunction.Average(brr) T = 2.326 stdevR = F / T End If End Function '################## ppk=min(ppu,ppl)=(1-k)*pp 整体的过程能力指数带中心值的 Function ppk(USL As Variant, LSL As Variant, ParamArray rng() As Variant) As Variant Dim AV As Single, rang As Range, n As Integer, T As Single, SumN As Single, SE As Single, k As Single For Each r In rng If rang Is Nothing Then Set rang = r Else Set rang = Union(rang, r) For Each c In r

VBA自定义函数选合集(代码注释)

自定义函数选 附代码注释 By 蓝桥玄霜 前言 我们平时在工作表单元格的公式中常常使用函数,Excel自带的常用的函数多达300多个,功能强大,丰富多彩,博大精深。在Excel内置函数和扩展函数中有十多个应用领域的函数,如数学与三角函数、统计函数、文本和数据函数、查找和引用函数、数据库函数、财务函数、日期和时间函数、信息函数、工程函数和宏表函数等等。 但是我们每个人还可能有各种各样的问题而不能直接应用这些函数得到解决,于是Excel也提供了VBA可以让我们自己编一个自定义函数来解决自己特定的需求。以下挑选一些自定义函数,由简到繁,附以代码注释,供大家参考。 第1例折扣函数 一、题目: 要求编写一个当销售数量大于等于100时,售价打九折的计算折扣的自定义函数。二、代码: Function Zekou(sul, jiag) As Double If sul>=100 Then Zekou =sul*jiag*0.1 Else Zekou =0 EndIf Zekou =Application.Round(Zekou,2) End Function 三、代码详解 1、Function Zekou(sul, jiag) As Double :自定义函数的开始语句。 自定义函数总是以Function开头,以End Function语句结束。自定义函数的代码一定要放在标准模块里面。 Zekou是函数名,名字可取一个较短的描述信名称,这样容易记忆。如sul数量和jiag 价格,这里用的是拼音字母。函数后括号里的两个变量叫做函数的参数。两个参数都没有显式声明数据类型,都是可变型数据类型variant。AS Double 表示函数返回值的数据类型是双精度浮点型数据。 2、If sul>=100 Then 如果sul(数量)大于等于100,那么 这是标准的If…Then…Else判断语句,意思是如果第一个条件成立,或者说满足了第一个条件,那么执行Then以后的语句;否则执行Else以后的语句。

相关主题
文本预览
相关文档 最新文档