Lotus教程、Java教程、Java虚拟机、Java软件综合开发社区

Lotus、Domino、Java、C#、Web、数据库综合开发教程、资料社区

[CHINALOTUS学习资源]最全面的LOTUS公式学习手册



Published by admin on 12月 4, 2008

变量

变量有两种类型:域,临时变量,你可以在公式中使用域名作为变量如:FirstName

临时变量只能存在于公式中。它的作用范围就是它所在的公式,除了在公式中赋予给它的属性以外没有其他属性。创建一个临时变量的语法是:variableName := value

常量

常量类型                     描述
     文本型 用”"标记的字符集,如:”joe.”,注意:为了在文本串中用引号,用转义符”\”,如:\”"
     数字型 数字0-9,能用(+和-),科学记数法和常量e
     时间型 任何时间型的常量用([]),如:[98-2-31]
操作符
   操作符类型      符号             例子
      赋值 := Areacode:=@left(phone;3)
      计算 乘号 *                除号 /                加号 +                减号 UnitPrice*3                                      TotalPrice/qty                                   TotalPrice+Tax                                   TotalPrice-Discount
      比较 等于  =               不等于 != =! <> ><    小于<                 小于等于 <=           大于 >                大于等于 >= SELECT Year=1996                                  SELECT Month!=”January”                        SELECT Age<70                                      SELECT Year<=1990                                SELECT Age>30                                   SELECT Age>=21
      串联 列表 :                 文本  + “Tricycle”:”Mini-bike”:”5-speed”         CompanyName+”,inc.”
      逻辑 否  !                  于  &                 或  | Status=”Approved”&TargetMarket!=”Children”
公式关键字
关键字语法 描述 例子
FIELD fieldname:=value
赋一个值给当前notes文档中的域,如果域不存在则创建一个,存在则覆盖该值。 FIELD CompanyName:=Company+”。inc”
REM [”remarks”] 注释 REM “12/15/95″
SELECT logicalValue
视图代理或复制公式中用来定义一个文档集 SELECT form=”idea”
字符串处理函数介绍?
函数 描述
@propercase(string)
将字符串中的单词转换成字首大写的形式:每个单词的头一个字母大写,后面的其他字母小写。以下的样例将返回 Every Child Loves Toys. @ProperCase(”every CHILD LOves toys”)
@trim(strin)
从文本字符串中(或文本列表的每一个元素中)删除位于开头和结尾的空格,同时还删除多余的空格。以下的样例将返回 ROBERT SMITH。@Trim(@UpperCase(”Robert Smith”))
@length(string)
返回文本字符串中字符的个数.该样例返回 45。@Length(”The boy crossed the wide, but gentle, stream.”)
@newline
在文本字符串中插入一个新行(回车)。下面公式返回                 Hi                                                        There                                     “Hi”+@NewLine+”There”
@matches(string;pattern)
用一个样本字符串去匹配一个字符串。因为样本字符串可以包含一定数量的通配符和逻辑符号,所以可以用较复杂的模式去匹配字符串。     该样例返回 0。                                       @Matches(”A big test”;”a?test”)
@left
从左到右搜索字符串,并返回字符串中最左边的几个字符。           该样例返回”Len”。                                @Left(”Lennard Wallace”;3)
逻辑操作
      函数                           操作
      @if @if(condition1;action1;condition2;action2;else-action)
如果满足条件1,则做action1,如果满足条件2,则做action2,否则做else-action.

注意: 1.该函数必须有奇数个参数。

       2.总共可以加99个条件

       3.可以嵌套

日期操作
函数 描述
@created 返回创建此文档时的时间-日期值。
@adjust(time-date; year;month;day;hour;   month;day;hour;minute ;second) 按照指定的年、月、日、小时、分钟、秒来调整指定的时间-日期值。调整的值可正可负。

以下的样例将返回 09/2/97。 @adjust([06/30/95];2;2;2;0;0;0)

@today 返回当天的日期。
@month(time-date) 从指定的时间-日期中提取月份值        

该样例返回 1。 @Month([1/15/88])

@Weekday(time-date) 算出一周中的某一天,返回一个表示这一天的数字。

下面样例返回 5(实际是星期六)。  Weekday([9/29/88])

@tomorrow 返回明天日期的时间-日期值。
算术操作
      函数              描述
@Max(number;number)
给出两个数字,返回较大的那个数字。

下面样例返回 99;6;7;8
@Max(99:2:3;5:6:7:8)

@Max(number;number)
给定两个数字,返回较小的那一个。

以下的样例将返回 5;2;3;3
@Min(99:2:3;5:6:7:8)

@Round(number) 将指定的数字归整,结果为最接近它的一个数

该样例返回 1
@Round(1.499)

@Round(number;factor)
如果还指定了另外一个数字,就用它作为规整因子

如果称做 NumberOfEmployees 的域值是12338,则该样例返回12340
@Round(NumberOfEmployees;10)

@Sum(num;num;..)
在一组数字或数字列表中进行加法运算。

以下的样例将返回 3
@Sum( 1 : 2 )

列表操作
函数 描述
@Elements(list) 计算列表中文本、数字、时间-日期的个数。该函数总是返回数字以指明在列表中项目的个数。

如果 SalesForce 域中的列表是 “Rogers” : “Binney” : “Harris” : “Larson”,则以下的样例将返回 4。”                               @Elements(SalesForce)

@Max(list;list) 给出两个数字列表,返回较大的那个数字列表。
@Member(value; stringlist) 给定一个值,在文本列表中找到该值的位置。

下面样例返回 0。                                   @Member(”Sales”; “Finance”:”Service”:”Legal”)”

@Subset(list;number) 从左到右搜索一个列,并返回您所指定数量的值。如果您指定了一个负数,@Subset 将从右到左搜索,但结果却是按从头到尾的次序排列。

以下的样例将返回 New Orleans;London。            @Subset(”New Orleans”:”London”:”Frankfurt”:”Tokyo”; 2)

数据转换
      函数                         描述
@Text(value) 将任意值转换成文本字符串。 如:@text(RetailPrice)
@TexttoNumber(string) 在可能的情况下,将文本字符串转换成数字。如:                 @texttonumber(”32.95″)
特殊函数
    函数                  描述
@Username 返回当前的用户名或服务器名。

如果用户名是层次结构名, @UserName 将以规范格式返回(其中包含 CN、OU、O 和 C 标识符)。 如果如果要返回缩写格式的名字(忽略标识符),请使用 @V3UserName。


@name([action];name)

用来裁剪层次结构名。可以用它将标准格式的名称进行缩写,将缩写名称扩展为它的标准格式,在名称中找到某一个部分,掉转部件的顺序以便用层次名称为一个视图分类。                                       如:@Name([CN];Author)
@AllChildren 包含父文档的所有满足选择标准的”答复”文档。
@AllDescendants 包含所有满足选择标准的父文档的答复文档以及答复的答复文档。
@IsResponseDoc 判断某个文档是否为答复文档。
@IsNewDoc 对于一个正在编辑的文档,指出该文档是否已经存盘
@IsText(value) 判断某个值是否为文本(或文本列表)。
@IsNumber(value) 判断某个值是否为一个数字(或数字列表)。
@Failure(string) 返回您给出的消息;当用于输入确认校验时,若输入的数值不符合校验条件,@Failure 将显示您给出的消息。                  

如:这个样例给出了输入校验公式。如果用户在”AreaCode”域中输入了大于 999 的数字,则返回一条错误信息”Area codes have only 3 digits”。    @If(AreaCode<999;@Success;@Failure(Area codes have only 3 digits”)

@Success 返回 1(真)。在输入检查公式中将该函数与 @If 一起使用可以判断输入的值是否满足检查条件。

如:当”Price”域中的值小于100 时,以下的样例将返回 1 并允许文档保存。在输入检查公式中表示输入的数据正确。 @If(Price<100;@Success;@Failure(Price too large”)



【版权说明】:本网页上有部分内容来源于网上收集,但不能保证资料的完整性和准确性,仅提供参考和学习。如有侵权请立即通知我们,我们将立即删除,谢谢合作!

Add A Comment