TA的每日心情 | 开心 昨天 14:07 |
---|
签到天数: 3789 天 [LV.Master]伴坛终老
|
本帖最后由 SaneSoft 于 2014-1-28 23:44 编辑
Day()
功能:
得到日期值中的号数,有效值在1~31之间。
语法:
Day(d)
参数d:日期时间(DateTime)类型的值。
返回数值(Integer)类型的值。函数执行成功时得到d参数中的号数(1~31之间)。如果d参数的值为NULL,则返回NULL。
If()
功能:
根据条件表达式的取值,返回特定的值。
语法:
If(b,t,f)
参数b:是否(Boolean)类型的值。
参数t:当b参数取值为True时,函数if返回t参数的取值,可以是任意数据类型。
参数f:当b参数取值为False时,函数if返回t参数的取值,可以是任意数据类型。
返回任意数据类型的值。
Left()
功能:
得到字符串左部指定个数的字符。
语法:
Left(s,n)
参数s:字符串(string)类型,指定要从中提取子串的字符串。
参数n:数值(long)类型,指定子串长度。
返回字符串(string)类型的值。函数执行成功时返回s参数中左边长度为n的子串。如果n的值大于s参数的长度,则返回整个s参数,但并不增加其它字符。如果任何参数的值为NULL,则返回NULL。
Mid()
功能:
取字符串的子串。
语法:
Mid(s,start,len)
参数s:字符串(string)类型,指定要从中提取子串的字符串。
参数start:数值(long)类型,指定子串第一个字符在s参数中的位置,第一个位置为1。
参数len:数值(long)类型,可选项,指定子串的长度。
返回字符串(string)类型的值。函数执行成功时返回s参数中从start位置开始、长度为len的子串。如果start参数的值大于s参数中字符个数,则返回空字符串。如果省略了len参数或len参数的值大于从start开始、s参数中余下字符的长度,则返回所有余下的字符。如果任何参数的值为NULL,则返回NULL。
Month()
功能:
得到日期值中的月份,有效值在1~12之间。
语法:
Month(d)
参数d:日期时间(DateTime)类型的值。
返回数值(Integer)类型的值。函数执行成功时得到d参数中的月份(1~12之间)。如果d参数的值为NULL,则返回NULL。
Page()
功能:
得到当前页号。
语法:
Page()
返回数值(Integer)类型的值。函数执行成功时得到当前页号。
PageCount()
功能:
得到总页数。
语法:
PageCount()
返回数值(Integer)类型的值。函数执行成功时得到总页数。
Right()
功能:
得到字符串右部指定个数的字符。
语法:
Right(s,n)
参数s:字符串(string)类型,指定要从中提取子串的字符串。
参数n:数值(long)类型,指定子串长度。
返回字符串(string)类型的值。函数执行成功时返回s参数中右边长度为n的子串。如果n的值大于s参数的长度,则返回整个s参数,但并不增加其它字符。如果任何参数的值为NULL,则返回NULL。
String()
功能:
把数值(Decimal,Integer,Long)类型、字符串(String)类型、日期时间(DateTime)类型的数据转换成指定格式的字符串。
语法:
String(x,s)
参数x:指定要转换格式的数据,其数据类型可以是数值(Decimal,Integer,Long)类型、字符串(String)类型、日期时间(DateTime)类型,也可以是包含上述类型数据的Any类型变量。
参数s:可选项,string类型,其值指定数据格式。
如果x参数的类型为string,则必须指定s参数。
返回值String类型。函数执行成功时返回以字符串方式表示的指定数据。如果x参数的数据类型与s参数指定的格式不匹配、s参数指定的格式无效、或x参数不是前面提到的适宜数据类型时,则返回空字符串("")。
用法:
s参数是个用掩码表示的字符串。
对x参数为数值(Decimal,Integer,Long)类型的情况来说,s参数的语法格式为:正数格式、负数格式、零的显示格式、空的显示格式。数值型显示格式中使用两个掩码字符:#和0,其中,使用#代表0~9之间的任意数字,0代表每个零都要显示。另外,货币符号($或¥)、百分号(%)、小数点(.)、逗号(,)等字符也可以出现在格式字符串中,但是,除小数点(.)、逗号(,)能够出现在格式字符#和0之间外,其它字符只能放置在格式串的前面或后面,例如,###,###$###是个错误的格式串,¥###,###,###是个正确的格式串。省略s参数时,String()函数使用缺省格式。注意,如果显示格式有多个部分,各部分之间的分号(;)不能省略。其它字符也可以出现在显示格式字符串中(只能放在格式串的开头和末尾),但它们没有特殊意义,系统只是照原样显示。例如,用显示格式字符串“收入##”格式化数值12时,显示结果为“收入12”。
对x参数为字符串(String)类型的情况来说,s参数的语法格式为:正常字符串格式。@代表字符串中的任意字符,除此之外的任何字符照原样显示,例如,如果定义了下面的格式:(@@)@@@@-@@@@则字符串0166767593显示为:(01)6676-7593。
对x参数为日期时间(DateTime)类型的情况来说,s参数的语法格式为:正常日期时间格式。日期时间格式中格式字符意义如下:d代表开头不带0的日数(如8)、dd代表开头带0的日数(如08)、ddd代表星期的英文缩写(如Mon、Tue)、dddd代表星期的英文全称(如Monday、Tuesday)、m代表开头不带0的月份(如8)、mm代表开头带0的月份(如08)、mmm代表月份的英文缩写(如Jan、Feb)、mmmm代表月份的英文全称(如January、February)、yy代表两位数字表示的年份(如97)、yyyy代表四位数字表示的年份(如1997)。
Year()
功能:
得到日期值中的年度,有效值在1000~3000之间。
语法:
Year(d)
参数d:日期时间(DateTime)类型的值。
返回数值(Integer)类型的值。函数执行成功时得到d参数中的年份(1000~3000之间),发生错误时返回1900,如果d参数的值为NULL,则返回NULL。
常用套打函数举例:
日期年度:year(sdate)
日期月份:month(sdate)
日期号数:day(sdate)
借方金额(分):if(abs(sdebit) >= 0.01,mid(right(string(sdebit,"0.00"),1),1,1),"")
借方金额(角):if(abs(sdebit) >= 0.1,mid(right(string(sdebit,"0.00"),2),1,1),"")
借方金额(元):if(abs(sdebit) >= 1,mid(right(string(sdebit,"0.00"),4),1,1),"")
借方金额(十):if(abs(sdebit) >= 10,mid(right(string(sdebit,"0.00"),5),1,1),"")
借方金额(百):if(abs(sdebit) >= 100,mid(right(string(sdebit,"0.00"),6),1,1),"")
借方金额(千):if(abs(sdebit) >= 1000,mid(right(string(sdebit,"0.00"),7),1,1),"")
借方金额(万):if(abs(sdebit) >= 10000,mid(right(string(sdebit,"0.00"),8),1,1),"")
借方金额(十万):if(abs(sdebit) >= 100000,mid(right(string(sdebit,"0.00"),9),1,1),"")
借方金额(百万):if(abs(sdebit) >= 1000000,mid(right(string(sdebit,"0.00"),10),1,1),"")
借方金额(千万):if(abs(sdebit) >= 10000000,mid(right(string(sdebit,"0.00"),11),1,1),"")
借方金额(亿):if(abs(sdebit) >= 100000000,mid(right(string(sdebit,"0.00"),12),1,1),"")
贷方金额(分):if(abs(scredit) >= 0.01,mid(right(string(scredit,"0.00"),1),1,1),"")
贷方金额(角):if(abs(scredit) >= 0.1,mid(right(string(scredit,"0.00"),2),1,1),"")
贷方金额(元):if(abs(scredit) >= 1,mid(right(string(scredit,"0.00"),4),1,1),"")
贷方金额(十):if(abs(scredit) >= 10,mid(right(string(scredit,"0.00"),5),1,1),"")
贷方金额(百):if(abs(scredit) >= 100,mid(right(string(scredit,"0.00"),6),1,1),"")
贷方金额(千):if(abs(scredit) >= 1000,mid(right(string(scredit,"0.00"),7),1,1),"")
贷方金额(万):if(abs(scredit) >= 10000,mid(right(string(scredit,"0.00"),8),1,1),"")
贷方金额(十万):if(abs(scredit) >= 100000,mid(right(string(scredit,"0.00"),9),1,1),"")
贷方金额(百万):if(abs(scredit) >= 1000000,mid(right(string(scredit,"0.00"),10),1,1),"")
贷方金额(千万):if(abs(scredit) >= 10000000,mid(right(string(scredit,"0.00"),11),1,1),"")
贷方金额(亿):if(abs(scredit) >= 100000000,mid(right(string(scredit,"0.00"),12),1,1),"")
常用工资项目举例:
代扣税项目公式:if(([23]-2000)<0,0,if(([23]-2000)>=0 and ([23]-2000)<500,([23]-2000)*0.05,if(([23]-2000)>=500 and ([23]-2000)<2000,([23]-2000)*0.1-25,if(([23]-2000)>=2000 and ([23]-2000)<5000,([23]-2000)*0.15-125,if(([23]-2000)>=5000 and ([23]-2000)<20000,([23]-2000)*0.2-375,if(([23]-2000)>=20000 and ([23]-2000)<40000,([23]-2000)*0.25-1375,if(([23]-2000)>=40000 and ([23]-2000)<60000,([23]-2000)*0.3-3375,if(([23]-2000)>=60000 and ([23]-2000)<80000,([23]-2000)*0.35-6375,if(([23]-2000)>=80000 and ([23]-2000)<100000,([23]-2000)*0.4-10375,([23]-2000)*0.45-15375)))))))))
其中,[23]表示工资项目应发合计,2000为个税起征点。公式描述如下:
如果 (应发合计 - 2000)小于 0 则
代扣税 = 0
否则如果 (应发合计 - 2000)大于等于 0 并且 (应发合计 - 2000) 小于 500 则
代扣税 = (应发合计 - 2000) × 0.05
否则如果 (应发合计 - 2000)大于等于 500 并且 (应发合计 - 2000) 小于 2000 则
代扣税 = (应发合计 - 2000) × 0.1 - 25
否则如果 (应发合计 - 2000)大于等于 2000 并且 (应发合计 - 2000) 小于 5000 则
代扣税 = (应发合计 - 2000) × 0.15 - 125
否则如果 (应发合计 - 2000)大于等于 5000 并且 (应发合计 - 2000) 小于 20000 则
代扣税 = (应发合计 - 2000) × 0.2 - 375
否则如果 (应发合计 - 2000)大于等于 20000 并且 (应发合计 - 2000) 小于 40000 则
代扣税 = (应发合计 - 2000) × 0.25 - 1375
否则如果 (应发合计 - 2000)大于等于 40000 并且 (应发合计 - 2000) 小于 60000 则
代扣税 = (应发合计 - 2000) × 0.3 - 3375
否则如果 (应发合计 - 2000)大于等于 60000 并且 (应发合计 - 2000) 小于 80000 则
代扣税 = (应发合计 - 2000) × 0.35 – 6375
否则如果 (应发合计 - 2000)大于等于 80000 并且 (应发合计 - 2000) 小于 100000 则
代扣税 = (应发合计 - 2000) × 0.4 - 10375
否则
代扣税 = (应发合计 - 2000) × 0.45 - 15375 |
|