`
qq17906
  • 浏览: 54224 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

LOTUS学习技巧-2-公式学习

阅读更多

1.变量

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

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


2.常量
   常量类型      描述
   文本型         用""标记的字符集,如:"joe.",注意:为了在文本串中用引号,用转义符"",如:""
   数字型         数字0-9,能用(+和-),科学记数法和常量e

   时间型         任何时间型的常量用([]),如:[98-2-31]

 

3.  公式关键字    关键字语法

     字符串处理函数介绍?

     @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)

 

4.逻辑操作

      @if
        注意: 1.该函数必须有奇数个参数。
                   2.总共可以加99个条件
                   3.可以嵌套

5.日期操作

      @created
         返回创建此文档时的时间-日期值。

      @adjust(time-date; year;m m ;sec
         按照指定的年、月、日、小时、分钟、秒来调整指定的时间-日期值。调整的值可正可负。
         以下的样例将返回 09/2/97。 @adjust([06/30/95];2;2;2;0;0;0)

      @today
         返回当天的日期。

      @m
         从指定的时间-日期中提取月份值
         该样例返回 1。 @m

      @weekday(time-date)
          算出一周中的某一天,返回一个表示这一天的数字。
          下面样例返回 5(实际是星期六)。 weekday([9/29/88])

      @tomorrow
         返回明天日期的时间-日期值。

6.算术操作

      @max(number;number)
         给出两个数字,返回较大的那个数字。
         下面样例返回 99;6;7;8 @max(99:2:3;5:6:7:8)

      @min(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 )

 

7.列表操作

       @elements(list)
           计算列表中文本、数字、时间-日期的个数。该函数总是返回数字以指明在列表中项目的个数。如果 salesforce 域中的列表是 "rogers" : "binney" : "harris" : "lars 4。" @elements(salesforce)

       @max(list;list)
          给出两个数字列表,返回较大的那个数字列表。

       @member(value; stringlist)
          给定一个值,在文本列表中找到该值的位置。
          下面样例返回 0。 @member("sales"; "finance":"service":"legal")"

       @subset(list;number)
          从左到右搜索一个列,并返回您所指定数量的值。如果您指定了一个负数,@subset 将从右到左搜索,但结果却是按从头到尾的次序排列。
         以下的样例将返回 new orleans;l @subset("new orleans":"l 2)


8.数据转换
        @text(value)
           将任意值转换成文本字符串。 如:@text(retailprice)
        @texttonumber(string)
           在可能的情况下,将文本字符串转换成数字。如 @texttonumber("32.95")

9.特殊函数

        @username
           返回当前的用户名或服务器名。

           如果用户名是层次结构名, @username 将以规范格式返回(其中包含 cn、ou、o 和 c 标识符)。 如果如果要返回缩写格式的名字(忽略标识符),请使用 @v3username。
         @name
            用来裁剪层次结构名。可以用它将标准格式的名称进行缩写,将缩写名称扩展为它的标准格式,在名称中找到某一个部分,掉转部件的顺序以便用层次名称为一个视图分类。 如:@name([cn];author)

         @allchildren
包含父文档的所有满足选择标准的"答复"文档。

         @alldescendants
            包含所有满足选择标准的父文档的答复文档以及答复的答复文档。

         @isresp
            判断某个文档是否为答复文档。

         @isnewdoc
            对于一个正在编辑的文档,指出该文档是否已经存盘

         @istext(value)
             判断某个值是否为文本(或文本列表)。

         @isnumber(value)
            判断某个值是否为一个数字(或数字列表)。

         @failure(string)
            返回您给出的消息;当用于输入确认校验时,若输入的数值不符合校验条件,@failure 将显示您给出的消息。
如:这个样例给出了输入校验公式。如果用户在"areacode"域中输入了大于 999 的数字,则返回一条错误信息"area codes have 3 digits"。 @if(areacode<999;@success;@failure(area codes have 3 digits")

         @success
             返回 1(真)。在输入检查公式中将该函数与 @if 一起使用可以判断输入的值是否满足检查条件。如:当"price"域中的值小于100 时,以下的样例将返回 1 并允许文档保存。在输入检查公式中表示输入的数据正确。 @if(price<100;@success;@failure(price too large")

 

10.怎样判断某一天所在周的最后一天
        @if(tdate != ""; @adjust(tdate; 0; 0; @modulo(8 - @weekday(tdate); 7); 0; 0; 0); tdate)


11.怎样计算两个日期域间有几周?

        diffdays := (enddate - startdate) / 86400 + 1;
        strtday := @modulo(@weekday(startdate); 7);
        endday := @modulo(@weekday(enddate); 7);
        result := (diffdays - endday + strtday - 8) * 5 / 7 - @max(-2; -strtday) - @min(1; endday) + 5 - strtday + endday


12.怎样在公式里用dos命令

        @command([execute]; "c:command.com"; "/c del c:test.txt")


13.怎样截取@dblookup的错误信息

        tempvar := @dblookup();
       @if(@iserror(tempvar); 'perform desired error resp 'perform desiredaction on tempvar')


14.怎样做到当文档有答复时,用邮件通知该文档的作者

       1.在主文档,答复文档,答复的答复文档创建一个域:form,缺省值:@name([cn];@usernam
       2.在答复表单创建一个域:parentform,缺省值(用继承)form
       3.在答复的答复表单,创建一个域:"parentform"缺省值(用继承)
        parentfrom:from
      4.在答复和答复的答复表单增加一个隐藏,显示时计算的"announce"域,

      公式是:

      @if(@isdocbeingsaved;@success;@return(0));
      list := @trim(@replace(parentfrom;from;""));
      @if(@elements(list) > 0; @success;@return(0));
      sendlist := @prompt([okcancellist]; "mail notify?"; "send mail notification about your reply to ";"";list);
      @if(@elements(sendlist) > 0; @success;@return(0));
      @mailsend(sendlist; ""; ""; "ref:" + originalsubject; ""; "my reply: "; [includedoclink])


15.怎样在notes.ini里将环境变量删除

      environment envir variable := ""; 或者 @setenvir variable";"").


16.在答复文档里如何修改主文档的值
       @setdocfield($ref;"field on parent doc";"value")


17.怎样得到一个群组里有哪些成员
        @name([cn];@dblookup("";@subset(@maildbname;1) : "names.nsf";"groups";"yourgroupname";
"members"))

分享到:
评论

相关推荐

    lotus公式及开发技巧

    Lotus公式和Notes命令是IBM Lotus Domino Designer中的核心组成部分,用于构建和自动化应用程序。...在提供的压缩包“lotus公式及开发技巧”中,可能包含更多具体示例和教程,可以帮助进一步掌握这些知识。

    Lotus学习技巧与心得帮助大家共同进步

    ### Lotus学习技巧与心得知识点详解 #### 一、Notes与关系型数据库的比较 1. **基于的模型**: - **关系型数据库**:基于事务处理模型。 - **Lotus Notes**:基于文档型。 2. **数据类型**: - **关系型数据库...

    Lotus Domino BS开发----熟悉并使用Lotus的各种设计元素--006--大纲.ppt

    Lotus Domino BS开发是一项涉及复杂技术和设计元素的工程。...随着技术的不断发展和企业需求的日益复杂,Lotus Domino BS开发人员需要不断学习新技术、掌握新工具,以应对各种挑战,确保开发的高效性和产品的竞争力。

    lotus domino notes公式秘籍

    本文将根据提供的标题、描述以及部分内容,详细介绍Notes中常用的一些公式及其应用技巧。 #### 二、基本信息获取公式 1. **@Name([key];name)**:此公式用于从指定的关键字(如电子邮件地址、用户名等)中提取名称...

    Lotus domino 学习大全

    ### Lotus Domino 学习大全知识点概述 #### 一、选取视图的列的内容 (@Trim@DbColumn) **知识点概述:** 在Lotus Domino开发中,经常需要从视图中提取特定列的内容。此方法通常涉及使用`@Trim@DbColumn`函数。该...

    Lotus Domino WEB详细 学习笔记

    2. 隐藏判断常用的命令 6 3. 判断当前用户是否是“某个组”的成员,然后来显示和隐藏 6 4. 在Lotus Domino 中显示图 6 5. 链接JS文件 6 6. 删除文档的方法 7 7. $$return 域的使用 8 8. 将表单...

    Lotus Domino BS开发综合学习记录

    本综合学习记录将深入探讨Lotus Domino在BS架构下的开发技巧和核心概念,帮助你掌握这一技术。 1. **Lotus Domino介绍**:Lotus Domino是IBM推出的一款企业级应用服务器,它集成了电子邮件、协作工具、数据库和Web...

    lotus 经典编程300例

    通过《Lotus经典编程300例》中的LSSAMPL2.TXT文件,你可以找到大量实际的脚本示例,逐一实践这些例子,有助于深入理解和掌握LotusScript的各个方面,提升你在Lotus Notes开发中的技能。无论是初学者还是经验丰富的...

    IBM Lotus开发手册

    在《IBM Lotus开发手册》中,你将学习到如何利用这个平台进行高效的应用程序开发。 首先,手册会介绍Lotus Notes/Domino的基础架构,包括客户端、服务器端以及两者之间的通信机制。这包括了解Notes客户端的界面、...

    lotus设计示例,代码+注释

    在"lotus设计示例"的文件中,我们可以看到这些功能的实际实现代码和注释,这对于理解和学习Lotus的开发技巧非常有帮助。通过实例学习,我们能更好地掌握理论知识,并将其应用到实际项目中,提升解决问题的能力。无论...

    lotus开发集锦

    通过"集锦"这个压缩包文件,开发者可以获取DOMINO开发的各种实例、源代码和库,这对于学习DOMINO开发技巧、理解DOMINO工作原理以及提升实际项目开发能力非常有帮助。这些资源可能涵盖了DOMINO开发的各个方面,包括...

    Lotus Notes程序设计随笔.rar

    《Lotus Notes程序设计随笔》是作者李建壹与小路哥共同分享的关于Lotus Notes开发经验的集合,这本书籍深入浅出地探讨了这个在企业级应用中广泛使用的协作软件平台的编程技巧和实践经验。Lotus Notes,作为IBM开发的...

    LotusDomino学习笔记.doc

    ### LotusDomino学习笔记知识点概览 #### 1. 选取视图的列的内容 (@Trim @DbColumn) - **@Trim**: 是一个内置的LotusScript函数,用于去除字符串两端的空白字符。 - **@DbColumn**: 此函数用于获取指定列的信息。...

    LotusDomino学习笔记(400页涵盖代理和公式使用)

    2. 隐藏判断常用的命令 6 3. 判断当前用户是否是“某个组”的成员,然后来显示和隐藏 6 4. 在Lotus Domino 中显示图 6 5. 链接JS文件 6 6. 删除文档的方法 7 7. $$return 域的使用 8 8. 将表单设计为视图或导航器...

    Lotus程序设计

    本节将深入讨论Lotus程序设计的核心概念、工具和实践技巧。 一、Lotus Notes与Domino概述 Lotus Notes是客户端应用程序,提供邮件、日历、任务管理等功能,而Domino是服务器端,负责数据存储、安全性、工作流和应用...

    全 中文 Lotus Domino Web 高级编程

    Lotus Domino Web 高级编程是一门深度探讨如何利用Lotus Domino平台进行Web应用...通过这个全中文的学习资源,开发者可以系统地提升自己的技能,掌握高级编程技巧,从而在实际工作中更好地利用Lotus Domino进行创新。

    大一计算机应用基础PPT 007办公自动化软件深入--Excel 复习用.pptx

    2. **数据处理软件分类**:电子表格类如Excel和Lotus 1-2-2用于表格数据的管理和计算;数据库管理系统类如Foxpro、Access和Oracle用于存储和管理大量结构化数据;统计分析系统类如SAS、SPSS和BMDP则专注于数据分析和...

    中文版Excel.2007高级VBA编程宝典.part1

     1.1.2 Lotus 1-2-3  1.1.3 Quattro Pro  1.1.4 Microsoft Excel  1.2 Excel 对开发人员的重要性  1.3 Excel在Microsoft 战略中的角色  第2章 Excel概述  2.1 关于对象  2.2 工作簿  2.2.1 工作表  2.2.2 ...

Global site tag (gtag.js) - Google Analytics