Domino公式
@Abs 返回一个数字的绝对值
@Abstrcat 将一个或多个域中的内容缩写
@Accessed 指出最后一次访问(即读取或编辑)该文档的时间和日期
@Acos 使用角度的余弦,计算反余弦
@Adjust 按照指定的年月日小时分钟秒来调整指定的时间-日期值。调整的值可正可负
@All
需要 SELECT 语句的公式中使用 @All
@AllChildren 包含父文档的所有满足选择标准的“答复”文档
@AllDescendants 包含所有满足选择标准的父文档的答复文档以及答复的答复文档
@Ascii 将一个 LMBCS (Lotus 多字节字符集)字符串转换成一个 ASCII 字符串
@Asin 使用角度的正弦,计算反正弦
@Atan 使用角度的正切,计算反正切
@Atan2 使用角度的 y/x 正切,计算反正切
@AttachmentLengths 返回表示当前文档中各个附件长度的数字或数字列表
@AtachmentNames 返回附加到文档中的文件的操作系统文件名
@Attachments 返回附加到文档中的文件数目
@Author 返回包含文档姓名的文本列表
@Begins 确定一个指定的子串是否保存在另一个字符串的开头
@Certificate 从公用通讯录的“已验证的公用密钥”中提取信息
@Char 从公用通讯录的“已验证的公用密钥”中提取信息
@CheckAlarms 触发闹铃守护程序检查邮件文件中是否有新的闹铃信息
@ClientType 返回文本字符串以从WWW客户机中区分 Notes 客户机
@Command 执行一个 Notes 命令
@Contains 确定某个子串是否包含在一个字符串中
@Cos 余弦函数
@Created 返回创建此文档时的时间-日期值
@Date 将数字转换成时间和日期的不同部分;然后返回时间-日期值
@Day 从指定日期值中提取天的部分
@DbColumn 1 从当前或别的 Notes 数据库的视图或文件夹里查找并返回一个完整的列值
2 使用数据源信息激来激活 ODBC 驱动程序
@DbCommand 给出 ODBC.INI 文件中的数据源信息,利用这些信息来激活 ODBC 驱动器。驱动器寻找指定的
DBMS,将命令送去进行处理,然后返回该命令检索到的数据
@DbExists 给定一个服务器和文件名,或复本标识符,查明该数据库是否存在
@DbLookup 1
给定一个值,在一个指定的视图(或文件夹)里查找,找出视图里的第一个排序列里包含该值的所有文档。对每个选中的文档,@DbLookup 返回视图里指定列的内容,或者返回一个指定域的内容
2 使用 ODBC.INI 文件里的数据源信息激活恰当的 ODBC 驱动器。驱动器定位指定的 DBMS,表和列,并对那些关键字列的值和指定的关键字匹配的记录返回该列的值。您还可以定义返回的列表是否排序,是否删除重复值以及如何处理空值
@DbManager 返回当前对数据库有“管理者”存取权限的用户、群组和服务器的列表
@DbName 返回当前 Notes 服务器和数据库的名称
@DbTitle 返回当前数据库的标题
@DDEExecute 将指定的命令串传递给由一个对话标识符标识的 DDE 应用程序,@DDEExecute
通常和
@DDEInitiate 与
@DDETerminate 配合使用
@DDEInitiate 初始化与 DDE 服务器的一个对话,并返回该对话的标识符
@DDEPoke 将未申请的数据存储到 DDE 服务器应用程序中的特定位置
@DDETerminate 中止与 DDE 应用程序的对话
@DEFAULT 为域指定缺省值。在公式的计算过程中,如果文档的某个域不存在,就用 DEFAULT 作为它的值。允许给域指定动态的缺省值
@DeleteDocument 在代理中运行时此函数时,删除正在被处理的文档
@DeleteField 在代理中运行该函数,@DeleteField 将删除指定的域
@DialogBox 弹出一个对话框,用指定的表单显示当前的文档
@Do 从左到右计算表达式,并返回列表中最后一个表达式的值
@DocChildren 返回当前文档(或分类)下的子文档(或子分类)的个数
@DocDescendants 在一个列公式或窗口标题公式中返回属于当前文档或分类的子文档或子分类的数目
@DocFields 返回文档中所有域的列表
@DocLength 返回文档的字节数
@DocLevel 返回表示文档或分类级别的字符串
@DocMark 在运行公式的代理中,表明您是否想保存对文档的改变
@DocNumber 在列公式或窗口标题公式中,返回一个代表当前文档或分类的项目编号的字符串v
@DocParentNumber 在列公式或窗口标题公式中,返回一个视图项目的上一层项目的编号
@DocSiblings 在列公式或窗口标题公式中,返回与某个视图(文档或分类)处于同级的项目数
@DocumentUniqueID 32 个字母和数字组合,在数据库的多个复本中用来唯一标识某个文档
@Domain 返回 NOTES.INI 或 Notes Preferences 文件里当前用户的 Notes 网络域名
@EditECL 为指定的通讯录和名称显示“工作站安全性:执行控制列表”对话框,使您可以修改ECL
@EditUserECL 为指定的通讯录和名称显示“工作站安全性:执行控制列表”对话框,使您可以在当前工作站上改变ECL
@Elements 计算列表中文本、数字、时间-日期的个数
@EnableAlarms 启动或停止后台警告守护进程
@Ends
确定子串是否在字符串的后面
@ENVIRONMENT 设置环境变量并存储在NOTES.INI或Notes Preferences里
@Environment 设置或返回存储在NOTES.INI或Notes Preferences中的环境变量
@Error 允许您在表达式中产生错误条件
@Exp 计算以e为幂,以指定的数为指数的值
@Explode 返回由文本串或日期范围中的元素所组成的文本列表
@Failure 若输入的数值不符合条件,返回您给出的消息
@False 返回数字 0, 该函数等价于 @No
@FIELD 在给文档里的域赋值时(与临时域相对)必须要用到 FIELD 关键字
@GetDocField 给定唯一的文档标识符,返回文档中某个域的内容
@GetPortsList 返回激活或禁止的端口的列表
@GetProfileField 从简要表文档中获得域,并缓存这个域的值,以备会话使用
@Hour 返回时间-日期中的小时部分
@If 判定一个条件
@Implode 连接文本列表中的成员,并返回文本字符串
@InheritedDocumentUniqueID 当前文档继承的父文档的唯一标识符
@Integer 将数字或数字列表截断成一个整数,去掉其小数部分
@IsAgentEnabled 判定定时运行的代理是否有效
@IsAvailable 查找文档中是否存在某个域
@IsCategory 在列公式中,如果视图中某一行为一个分类,则返回指定的字符串
@IsDocBeingEdited 检查文档的当前状态,如果文档正在被编辑,则返回1(True)
@IsDocBeingLoaded 查看文档的当前状态,如果文档正被装入内存并显示,则返回1(True)
@IsDocBeingMailed 检查文档的当前状态,如果文档正在被邮寄,则返回 1 (True)
@IsDocBeingRecalculated检查文档的当前状态,如果文档中的公式正在被计算,则返回 1 (True)
@IsDocBeingSaved 检查文档的当前状态。如果正在保存文档,则返回 1 (True)
@IsDocTruncated 说明当前文档是否被截短过
@IsError 如果数值是一个 @ERROR 值,则返回 1 (True)
@IsExpandable 在列公式中,如果视图中的某一行是可展开的,则返回某个特定的字符串
@IsMember 指出一段文本(或文本列表)是否包含在另外一个文本列表中
@IsModalHelp 说明当前文档是否为一个模态帮助文档
@IsNewDoc 对于一个正在编辑的文档,指出该文档是否已经存盘
@IsNotMember 判断一段文本(或文本列表)是否不包含在另一个文本列表中
@IsNumber 判断某个值是否为一个数字(或数字列表)
@IsResponseDoc 判断某个文档是否为答复文档
@IsText 判断某个值是否为文本(或文本列表)
@IsTime 判断一个值是否为时间-日期值(或时间-日期列表)
@IsUnavailable 判断域名是否存在于文档里
@Isvalid 在当前表单执行所有检验公式
@Keywords 给定两个文本列表,返回第一个列表和第二个列表之间重叠的部分
@Left 从左到右搜索字符串,并返回字符串中最左边的几个字符
@LeftBack 从右至左搜索字符串并返回子串
@Length 返回文本字符串中字符的个数
@Like 将字符串和样本串进行匹配将字符串和样本串进行匹配
@Ln 返回一个以e为底的自然对数
@Log 返回大于 0 的数的常用对数
@LowerCase 将指定字符串里的大写字母转换成小写
@MailDbName 返回 Domino 服务器的名称和当前用户的邮件数据库的名称
@MailEncryptSavedPreference判断用户是否在“用户惯用选项”对话框选择了“加密保存的邮件”
@MailEncryptSentPreference判断用户是否在“用户惯用选项”对话框中选择了“加密发送邮件”
@MailSavePreference 判断用户在“用户惯用选项”中,选择了“保存发送的邮件”
中的哪个选项
@MailSend 将当前的文档邮寄给指定的收件人
@MailSignPreference 判断用户是否选择了“用户惯用选项”对话框的“签发邮件”
@Matches 用一个样本字符串去匹配一个字符串
@Max 给出两个数字,返回较大的那个数字
@Member 给定一个值,在文本列表中找到该值的位置
@Middle 从一个字符串的中间部分返回一个子串
@MiddleBack 从一个字符串中间部分返回一个子串
@Min 给定两个数字,返回较小的那一个
@Minute 从时间-日期中提取分钟数值
@Modified 返回一个时间-日期值,表示文档最近和次编辑和保存的时间
@Modulo 返回除法操作的余数
@Month 从指定的时间-日期中提取月份值
@Name 用来裁剪层次结构名
@NerLine 在文本字符串中插入一个新行(回车)
@No
返回数字 0
@NoteID 当前文档的标识符号
@Now 返回当前的日期和时间
@OptimizeMailAddress 给定一个邮件地址,删除其中不必要的网络域
@Password 密码字符串
@Pi 返回常量 p,精确到 15 个小数位
@PickList 显示一个模态窗口, 某个视图或地址对话框
@Platform 返回当前 Notes 运行的平台版本
@PostedCommand 执行一条 Notes 命令
@Power 求一个数的幂值
@Prompt 显示一个对话框,并根据用户的操作返回一个文本值。@Prompt 用来给用户提示信息,并根据用户的输入确定以后的操作过程
@ProperCase 将字符串中的单词转换成字首大写的形式
@Random 产生一个 0 和 1 之间的随机数,包含 0 和 1
@RefreshECL 从指定的通讯录和名称中,将管理执行控制列表拷贝到用户的个人工作站ECL中
@REM REM 关键字允许您给公式增加解释性的注释
@Repeat 以指定的次数重复某字符串
@Replace 在文本列表中执行查找/替换操作
@ReplaceSubstring 用指定的新单词或新短语代替字符串中的某个单词或短语
@Responses 返回文档的答复文档的(在当前视图中)个数
@Return 立即停止公式的执行并返回指定的值
@Right 返回字符串最右边的字符
@GightBack 返回字符串中最右边的字符
@Round 将指定的数字归整,结果为最接近它的一个数
@Second 从指定的时间-日期中,提取并返回秒值
@SELECT 定义文档的选择条件
@Select 返回列表中某个位置编号上的值
@Set 为临时变量赋值
@SetDocField 给定一个文档的唯一标识符,设置此文档中的某个域的值
@SetEnvironment 在NOTES.INI或Notes Preferences中设置并保存一个环境变量
@SetField 为文档中的某个域赋值(使用 @Set 可以为临时变量赋值)。 这与关键字 FIELD 相似,只是 @SetField 还可以用在另一个函数中
@SetProfileField 在简要表文件中设置域值
@Sign 判定一个数是正数、负数还是零
@Sin 给定一个用弧度表示的角度,返回该角度的正弦值
@Soundex 返回某指定字符串的 Soundex 码
@Sqrt 返回一个数字的正平方根
@Subset 从左到右搜索一个列,并返回您所指定数量的值
@Success 在输入检查公式中将该函数与 @If 一起使用可以判断输入的值是否满足检查条件
@Sum 在一组数字或数字列表中进行加法运算
@Tan
给定某个角度的弧度值,返回该角度的正切值
@Text 将任意值转换成文本字符串
@TextToNumber 在可能的情况下,将文本字符串转换成数字
@TextToTime 将文本字符串转换为时间-日期值
@Time 将时间和日期的组成部分转换成数字;然后返回时间-日期值
@Today 返回当天的日期
@Tomorrow 返回明天日期的时间-日期值
@Trim 从文本字符串中删除位于开头和结尾的空格,同时还删除多余的空格
@True 返回数字 1。该函数等效于 @Yes
@Unavailable 使用本函数删除某个域
@Unique 带有参数时,通过仅返回列表里第一次出现的每个成员来从文本列表里删除重复值
@UpperCase
将指定字符串里的小写字母转换为大写
@URLGetHeader 从 URL 中返回指定的超文本传输协议
(HTTP) 的标题信息
@URLHistory 用于查找、保存和重新加载一个 URL 历史记录
@URLOpen 提取一个由 URL 指定的 W.W.W 页面
@UserAccess 给定一个服务器和文件名,指出当前用户对这个数据库的存取级别
@UserName 返回当前的用户名或服务器名
@UserPrivileges 返回代表当前用户权限的文本列表
@UserRoles 对于选择了“强行统一此数据库的所有复本的存取控制列表”选项的服务器上的数据库或本地数据库,返回当前用户具有的角色的列表。角色是在数据库的存取控制列表中定义的
@V2If 这个函数执行一个 @If 操作;其语法和 @If 的语法一样
@V3UserName 返回当前用户名或服务器名
@Version 返回您正在运行的 Notes 软件的版本号
@ViewTitle 返回当前视图的名称
@Weekday 算出一周中的某一天,返回一个表示这一天的数字
@Word 从一个文本字符串里返回指定的单词
@Year 从指定的时间-日期值中提取年份
@Yes 返回值 1
@Yesterday 返回与昨天日期相对应的时间-日期值
@Zone 返回当前计算机或时间-日期值的时区设置,并指出它是否遵循夏时制
访问用户环境
用户环境是包含数据库的服务器或工作站,数据库包括以下内容: 复制公式、由新邮件到达时或定时触发的代理、选择公式或列公式。否则,用户环境是用户运行公式的 Notes 工作站。
用户名可以是专有名称也可以是非专有名称,专有名称可以是规范或缩写的,使用 @Name 可更改用户名的格式。
以下函数返回或处理用户环境的信息。
函数 描述
@UserName 返回用户名或服务器名。
@Name([key]; name) 更改用户名的格式。关键字包含 [CN] 以从一个专有名字中解析出公共名,[Abbreviate] 缩写规范格式的专有名字,[Canonicalize] 与上述作用相反,[ToKeyword] 将名字各部分按相反顺序排序,用反斜杠分开(用于分类视图)。
@UserRoles 对于服务器上的数据库,返回当前用户的角色列表。
@MailDbName 返回用户邮件数据库的服务器名和路径名。该 @function 计算出一个包含两元素的列表。
@OptimizeMailAddress(address) 从地址中删除无用的网络域。
@Platform 返回用户当前运行的平台:Macintosh、 NetWare、 OS2V1、 OS2V2、 UNIX、 Windows/16 或 Windows/32。
@Version 返回正在运行的 Notes 版本(字符串)。
@Password(string) 对字符串加密。加密后别人无法从中得到最初的字符串。
访问当前数据库和视图
可以直接访问正在运行公式的数据库(便捷图标除外,因为它没有数据库环境)。也可以在视图环境中直接访问正在运行公式的视图。同样,在文档环境中可直接访问打开文档的视图。
数据库和视图属性
下表列出返回数据库和视图属性的函数。
函数 描述
@DbManager 返回当前对数据库有“管理者”权限的用户、群组和服务器。返回一个列表。
@DbName 返回当前 Notes 服务器和数据库的名称。返回二个元素的列表。
@ViewTitle 返回当前视图的标题。
窗口标题和列公式 @function
许多 @function 提供了关于视图的答复层次和其他方面的信息。在视图中,主文档以 1、2、3 等编号。每组答复文档或答复的答复文档则有第二个和第三个层次的从 1 开始的编号。缺省情况下,完整的答复文档的编号以小数形式出现。例如:第三个主文档的第二个答复文档编号为 3.2,而它下面的第一个答复文档编号为 3.2.1。
这些函数仅工作于窗口标题和列公式中,有一些会被限制。返回值都是一个字符串。
函数 描述
@Responses 返回当前视图中当前文档的答复文档的编号(只限于窗口标题公式)。
@DocLevel 返回在当前视图中当前文档的级别。
@DocSiblings 返回与当前文档同级的文档编号(包含当前文档)。
@DocNumber 返回当前视图中的当前文档或分类的编号。
@DocNumber(sep) 同上,只是用 sep,而不是句点来分隔编号。
@DocNumber("") 同上,只是仅返回编号的最右边部分。
@DocParentNumber 返回当前视图中当前文档或分类的父文档或父分类的编号。
@DocParentNumber(sep) 同上,只是用 sep,而不是句点分隔编号。
@DocParentNumber("") 同上,只是仅返回编号的最右部分。
@DocDescendants 返回后续文档的编号。包含当前文档的子文档,子文档的子文档。
@DocDescendants(def) 同上,只是返回 def。在 def 中使用 % 以表示编号。
@DocDescendants(zero; def) 同上,只是如果没有后续文档的话则返回 zero。
@DocDescendants(one, zero; def) 同上,如果只有一个后续文档的话,则返回 one。
@DocChildren 返回当前文档的直接子文档的编号。
@DocChildren(def) 同上,仅返回 def。在 def 中使用 % 以表示编号。
@DocChildren(zero; def) 同上,只是如果没有后续文档的话,则返回 zero。
@DocChildren(one, zero; def) 同上,如果只有一个后续文档的话,则返回 one。
@IsCategory 如果当前行的当前域右边任何域是一个分类,则返回一个星号。
@IsCategory(True) 同上,只是返回 Frue 代替星号。
@IsCategory(True; False) 同上,但是如果没有分类域,则返回 False。
@IsExpandable 如果当前行是可展开的,则返回一个加号。
@IsExpandable(True) 同上,只是返回 True 代替加号。
@IsExpandable(True; False) 同上,但是如果当前行是不可展开的,则返回 False。
使用 @function 通过 LS:DO 访问外部数据库
以下 @function 通过 ODBC 访问外部数据库并返回一个值或值的列表:
@DbColumn 返回表的一列中的全部值,或者全部的不同的值。
@DbLookup 返回表的一列中通过关键字匹配选定的值。
@DbCommand 将一个命令传递给外部的数据库管理系统(DBMS)并返回结果。
@DbColumn 与 @DbLookup 都只能提取数据。它们不能增加、删除、修改数据或执行其他操作。@DbCommand 能提取数据或发送其他可以更改数据的 SQL 语句。LotusScript 提供了包括更新外部数据库的更加强大的功能。
前四个参数对于三个函数是同样的,通过 ODBC 建立访问数据库。这些参数是:
“ODBC” 是字符常量;或 “ODBC” : “NoCache”
定义在数据源表格中的数据源名称(在 Windows 中的 ODBC.INI)
用户标识符,两个用户标识符列表,或者一个空串,根据外部数据源而定
口令,两个口令列表,或者一个空串,根据外部数据源而定
(@DbColumn 和 @DbLookup) 要访问的表的名称
(@DbCommand) 要执行的命令
(@DbColumn 和 @DbLookup) 要访问的列的名称
处理由数据源返回的空数据的选项
(@DbLookup) 包含关键字的列名
(@DbLookup) 适当的数据类型的关键字值,或者是一个列表
(@DbColumn 和 @DbLookup) 两个元素的列表:“Distinct”作为关键字或空串;“Ascending”或“Descending”作为一个关键字
在需要用 IDS 和口令的地方,您可以指定空串并让用户在执行函数时提供它们。
使用 @function 通过 LS:DO 访问外部数据库
1. 该公式取得 MANUAL 表中的 PARTNO 列。
@DbColumn(“ODBC”;“Oracle”;"";"";“MANUALS”;“PARTNO”;"":“Ascending”)
2. 该公式从 MANUALS 表的行中取得 TITLE,在该行中 PARTNO 是 17-895A。
@DbLookup(“ODBC”;“Oracle”;"";"";“MANUALS”;“TITLE”;“PARTNO”;“17-895A”)
3. 该公式从 MANUALS 表中的 ONHAND 列的数字值小于 100 的每行中取得 PARTNO 列值。
@DbCommand(“ODBC”;“Oracle”;"";"";“SELECT PARTNO FROM MANUALS WHERE ONHAND <100”)
转换数据类型
在对数据操作时类型必须是正确的。以下的函数用来转换数据和测试数据类型。
函数 描述
@Text(value) 将一个值转换为文本字符串。
@Text(value; format) 根据指定的格式将一个数字或时间-日期值转换成文本字符串。
@TextToNumber(string) 将文本字符串转换成一个数字。
@TextToTime(string) 将文本字符串转换成一个日期-时间值。
@IsText(value) 如果值是文本字符串或文本字符串列表,则返回“真”值 (1)。
@IsNumber(value) 如果值是数字或数字列表,则返回“真”值 (1)。
@IsTime(value) 如果一个值是时间-日期或时间-日期列表,则返回“真”值 (1)。
@Char(number) 将一个 IBM 代码页 850 代码转换为对应的字符。
连接、比较和判定长度
运算符 + 用来连接字符串。运算符 =、<>;、!=、=!、>;<、<、>;、<= 和 >;= 用来比较字符串。以下的函数用来判定字符串的长度和比较字符串:
函数 描述和用法
@Length (string) 以字符为单位返回字符串的长度。
@Length(stringlist) 以字符为单位,返回字符串列表中每个元素的长度。
@Matches (string; pattern) 判定两个字符串是否匹配。可以用通配符来扩展比较的范围。
@Like (string; pattern) 判定两个字符串是否匹配。遵循 ANSI SQL 标准。
@Like(string; pattern; esc) 与上面的一样只是多了一个转义字符。
@Matches @Matches 用“?”来匹配任意一个单独的字符,用“*”来匹配任意的字符序列,@Matches 使用“\”作为转义字符。
@Like 按照 ANSI X3.135-1992 标准,使用“_”(下划线)来匹配任意一个单独的字符,用“%”(百分号)来匹配任意的字符序列。
查找并提取子串
样例
以下函数查找并提取子串:
函数 描述
@Contains(string; sub) 判定一个字符串是否包含一个子串。
@Contains(string; list) 判定一个字符串是否包含一个列表中的子串。
@Begins(string; sub) 判定一个字符串是否以一个子串开始。
@Ends(string; sub) 判定一个字符串是否以一个子串结束。
@Left(string; n) 从一个字符串中提取最左边的 n 个字符。
@Left(string; sub) 从一个字符串中提取最左边的字符,直到一个子串为止,从左到右搜索。
@LeftBack (string; n) 从一个字符串中提取最左边的字符,直到从右边开始的第 n 个字符为止。
@LeftBack(string; sub) 从一个字符串中提取最左边的字符,直到一个子串为止,从右到左搜索。
@Right(string; n) 从一个字符串中提取最右边的 n 个字符。
@Right(string; sub) 从一个字符串中提取最右边的字符,直到一个子串为止,从左到右搜索。
@RightBack (string; n) 从一个字符串中提取最右边的字符,直到从左边开始的第 n 个字符为止。
@RightBack(string; sub) 从一个字符串中提取最右边的字符,直到一个子串为止,从左到右搜索。
@Middle(string; off; n) 从一个字符串中提取 n 个字符,从一个偏移量开始,从左到右搜索。
@Middle(string; sub; n) 从一个字符串中提取 n 个字符,从一个子串开始,从左到右搜索。
@Middle(string; off; sub) 从一个字符串中提取字符,从一个偏移量开始,到一个子串结束,从左到右搜索。
@Middle(string; sub; sub) 从一个字符串中提取字符,从一个子串开始,到另一个子串结束,从左到右搜索。
@MiddleBack(str; off; n) 从一个字符串中提取 n 个字符,从一个偏移量开始,从右到左搜索。
@MiddleBack(str; sub; n) 从一个字符串中提取 n 个字符,从一个子串开始,从右到左搜索。
@MiddleBack(str; off; sub) 从一个字符串中提取字符,从一个偏移量开始,到一个子串结束,从右到左搜索。
@MiddleBack(str; sub; sub) 从一个字符串中提取字符,从一个子串开始,到另一个子串结束,从右到左搜索。
@ReplaceSubstring(source; from; to) 在 source 中用 from 的内容替换 to 的内容。如果 from 和 to 都是列表,按次序替换对应的项目。
@Word(string; sep; n) 从 string 提取单词 n,其中单词是在指定的分隔符之间的文本。
@Word(list; sep; n) 从列表中的每个字符串中提取单词 n,其中单词是在指定的分隔符之间的文本。
修剪、重复、添加新行,并改变大小写
样例
以下函数修剪字符串、重复字符、添加新行(回车),并改变大小写:
函数 描述
@Trim(string) 从字符串中删除开头、结尾和多余的空格。
@Trim(list) 从字符串列表的每个元素中删除开头、结尾和多余的空格,并从列表中删除空白元素。
@Repeat(string , number) 将字符串重复若干次。
@NewLine 在文本字符串中插入一个新行(回车)。
@LowerCase(string) 将字符串中所有的大写字符转换成小写。
@UpperCase(string) 将字符串中所有的小写字符转换成大写。
@ProperCase 将字符串中每个单词的第一个字符转换成大写,并将其余的字符转换为小写。
执行算术运算
乘、除、加、减运算符(*/±)。乘法和除法运算符的优先级高于加法和减法;运算顺序是从左到右。但可以使用括号更改运算顺序。以下列出的是算术运算函数。
函数 描述
@Abs(number) 计算一个数的绝对(无符号)值。
@Sign (number) 对于正数返回 1,对于负数返回 -1,对于零则返回 0。
@Sum(num; num; …) 计算数字和数字列表的和。
@Integer(number) 去掉数字的小数部分,使它成为整数。
@Integer(numlist) 去掉数字列表所有元素的小数部分,使它们成为整数。
@Round(number) 对一个数字进行四舍五入。
@Round(number; factor) 以一个指定的因子规整数字。
@Round(numlist) 对数字列表中的每个数字进行四舍五入。
@Round(numlist; factor) 以一个指定的因子规整数字列表中的每个元素。
@Max(number; number) 取两个数中较大的一个。
@Max(numlist; numlist) 对两个数字列表进行矩阵式操作时,取两个数字中较大的一个
@Min(number; number) 取两个数中较小的一个。
@Min(numlist; numlist) 对两个数字列表进行矩阵式操作时,取两个数字中较小的一个。
@Modulo(number; number) 计算一个数字被第二个数字除后得出的余数。
@Modulo(numlist; numlist) 对两个数字列表进行矩阵式操作时,计算一个数字被第二个数字除后得出的余数。
@Power(base; exp) 指数计算。
@Sqrt (number) 计算平方根。
@Pi 取得圆周率。
@Log(number) 计算常用(以 10 为底)对数。
@Ln(number) 计算自然(以 e 为底)对数。
@Exp(number) 计算以 e 为底的指数。
@Random 返回一个 0 到 1 之间的随机数。
@Sin(angle) 计算角度的正弦(弧度)。
@Cos(angle) 计算角度的余弦(弧度)。
@Tan(angle) 计算角度的正切(弧度)。
@Asin(sine) 反正弦函数。
@Acos(cosine) 反余弦函数。
@Atan(tangent) 反正切函数。
@Atan2(x; y) 计算以 y/x 作为正切值的反正切函数。
答复列的公式
仅用于答复的列需要公式来生成总结答复文档的文本。
包含作者的信息
讨论数据库可以使用如下答复列的公式来显示答复文档的作者、日期和主题:
From + " added this comment: " + Subject + " (" + @Text(@Created) + “)”
按以下方式显示答复:
Stephanie Mahar added this comment: Great job! (10/10/97 04:43:15 PM)
跟踪文档状态
在雇员信息数据库中,答复列可以显示新雇员以及离职雇员的调查信息,作为“按雇员姓名”视图中常规的“雇员记录”的答复文档。下面公式根据答复文档使用的表单的不同,显示不同的消息,并且显示文档的邮递状态。
@If(Form = “Exit”; "Exit Form, "; "New Hire Information, ") + @If(Mailed = “Yes”; "mailed to employee " + @Text(@Date(PostedDate)); “not yet mailed”)
如果答复文档使用 Exit 表单,那么答复行显示也许如下:
Exit Form, mailed to employee 08/26/97
如果答复文档使用 New Hire Information 表单,那么答复行显示也许如下:
New Hire Information, not yet mailed
跟踪答复的数目
可以使用 @DocDescendants 跟踪答复文档的数目,以便作者迅速知道收到多少答复文档。下面的主文档列(不是答复列)公式对于答复样式的视图非常有用。
Subject + " (" + @Name([CN]; From) + @DocDescendants(")"; “, % response)”; “, % responses)”)
如果是主文档,那么列显示 Subject 域的内容、作者名称、答复以及答复的答复文档的数目。如果文档有一个答复,那么列显示“response”;否则显示“responses”。主文档行可作如下显示:
Need Help with Trade Show (Indy Montoya, 1 response)
Changing the Product Name (Sandy Braun, 2 responses)
视图小程序编程
通过使用一些 @commands 命令可以对视图小程序编程。有以下命令:
@command 描述
ViewCollapse 折叠所选文档
ViewExpand 展开所选文档
ViewCollapseAll 折叠所有文档
ViewExpandAll 展开所有文档
ViewRefreshFields 刷新视图。
刷新时,视图小程序不删除标记为已删除的文档
MoveToTrash 使当前所选文档标记为已删除
EmptyTrash 永久删除标记为已删除的文档
Folder 将所选文档移动或拷贝到文件夹
RemoveFromFolder 从当前文件夹删除所选文档。