Notes公式大全

1、@ABS
   返回一个数的绝对值(无符号值)。
2、 @Abstract
   通过以下方式,缩写一个或多个域的内容。
3、@Accessed
   指出文档最后一次访问的时间和日期,以及是读该文档还是编辑该文档。
4、@Acos
   使用角度计算反余弦。
5、@AddToFolder
   将当前文档移入到一个文件。
6、@Adjust
按照指定的年、月、日、小时、秒来调整某时间—日期值。可以向前调整也可以向后调整。
7、@AdminECLIsLocked
    检查通讯录中管理员ECL的当前装套、如果管理员ECL呗锁住返回1否则返回0。
8、@All
    返回值“真”。
9、@AllChildren
    包含所有满足选择条件的父文档的各个级别的答复文档。
10、@AllDescendants
    包含满足选择条件的父文档的所有答复文档和答复的答复文档。
11、@Ascii
    将一个LMBCS(Lotus多字节字符集)字符串转换成一个ASCII字符串。
12、@Asin
    使用角度计算反正弦、
13、@Atan
    使用角度计算反正切值。
14、@Atan2
    使用角度的正切tangent y/x计算反正切值。
15、@Attachmentlengths
    返回一个包含个当前文档附件长度的数字或数字表。
16、@AttachmentModifiedTimes
    返回当前文档附件最后一次修改的时间。
17、@AttachmentNames
返回文档上所带附件的文件名。如果有多个文件,则将它们的名字作为一个多值文本表返回。
18、@Attachments
    文件附件的个数。
19、@Author
    返回一个包含文档作者名字的文本表。
20、@Begins
    确定一个指定的字串是否存储在另一个字符串的开头。
21、@BrowserInfo
    确定Web客户的容量。
22、@BusinessDays
    返回在一个或多个约会范围内业务日的天数。
23、@Certificate
    从公用通讯录的“Certified Public Key”中提取信息。
24、CheckAlarms
    触发起报警,守护进程检查邮件文件中是否有线的报警。
25、@CheckFormulaSyntax
    检查公式语言的语法错误。
26、@Char
将IBM Code Page 850代码转换成对应的字符。
27、@ClientType
    返回文本字符串,用来区分Notes客户机和World Wide Web客户机。
28、@Command
执行一个Notes命令。大多数标准菜单命令可以使用@Command来执行。灵位,一些特殊的命令也是有效的。在公式中,任何使用@Command的命令按指定在公式中的顺序运行。这意味着命令所做的认识百变(如插入文本到某个域)会影响其余的公式。
29、@Compare
    比较两类字符串中元素在字母表中的顺序。
30、@ConfigFile
    返回Notes.ini文件中文件的路径。
31、@Contains
    确定一个子串是否保存在另一字符串中。
32、@Cos
给定一个角度的弧度值,返回该角度的余弦值,在直角三角形中,某个锐角的余弦值就是该角的邻边长度与斜边长度的壁纸。
33、@Count
计算一个列表中文本、数字或时间—日期的数目。这个函数总是返回一个列表中条目的个数。这个函数与函数@Elements类似,不同的是当不是一个列表而是一个空字符串时,它返回1而不是0。
34、@Created
    当创建文档时返回时间—日期值。
35、@Date
    将数字翻译成时间和日期的不同部分;然后返回时间—日期值。
36、@Day
    从指定日期中提取日。如5月15日返回15。
37、@DbColumn(Domino data source)
    从Domino数据库的视图或文件夹里查找并返回一个完整的列值。
38、@DB2Schema
以字符串的形式给定一个数据库如果它是一个db2nsf数据库,则返回一个包含DB2纲要的字符串。否则返回一个空字符串。
39、@DbColumn(ODBC data source)
使用数据源信息激活适当的ODBC驱动程序;然后又驱动程序定位指定的DBMS、表格和列,并返回该列的所有值。可以有选择地指定是否排序返回值的列表,是否删除重复值以及如何处理空值。
40、@DbCommand(Domino data source)
    在Web应用程序的Domino数据库中访问视图和文件夹信息。
41、@DbCommand(ODBCdata source )
使用从ODBC.ini文件中给出的数据源信息激活适当的ODBC驱动程序。然后由驱动程序定位指定的DBMS,把指定的命令传给它处理,然后返回给命令取得的数据。
42、@DbExists
    给定一个服务器和文件名,或复本标示符,说明所指定的数据库是否存在。
43、@DbLookup(Domino data source)
给定一个关键字值,在一个指定的视图(或文件夹)里查找,找出视图里的第一个排序列里包含关键字值的所有文档。对于每个选中文档, @DbLookup返回视图里指定列的内容或者一个指定域的内容。
44、@DbLookup(ODBC data source)
使用ODBC.INI文件中的数据源信息激活适当的ODBC驱动程序。然后驱动程序定位指定的DBMS、表格和列,并返回在关键字列的值域指定关键字匹配的记录中所检索的列值。可以有选择地指定是否排序返回的列值,是否删除重复值以及如何处理空值。
45、@DbManager
返回当前对数据库有“管理者”存取权限的用户,群组和服务器的列表。在一个窗口标题公式里,值显示列在存取控制列表中第一个管理者的名字。@DbManager不能在选择公式或列公式中使用。
46、@DbName
    返回当前Notes服务器和数据库的名称。
47、@DbTitle
    返回当前数据库的标题。
48、@DDEExecute
将制定命令串传递给由一个对话标识符标志的DDE应用程序,@DDEExecute统称域DDEInitiate和@DDETerminate配合使用。
49、@DDEInitiate
    初始化与服务器的一个对话,并返回该对话的标识符。
50、@DDEPoke
将申请的数据存储到DDE服务器应用中特定的位置。如果该数据成功地插入目标位置,则@DDEPoke返回一个ACK(收到通知)和数值@True(1);如果该尝试失败,则返回一个NACK(未收到通知)和数值@False(0)。如果对话标识符是无效的,则返回一个错误(请参阅@IsError)。
51、@DDETerminate
    终止与服务器的一个对话,并返回该对话的标识符。
52、DEFAULT
    执行以下操作:
    ·为域值制定一个默认值。
    ·在公式的计算过程中,如果文档没有该域,就用缺省值计算。
    ·允许指定值提供域的动态缺省值。
53、@DeleteDocument
    在代理中运行公式,删除正在进行处理的文档。
54、@DeleteField
    在代理中运行公式,@DeleteField删除指定的域。
55、@DialogBox
弹出一个对话框显示当前正使用你指定的文档。用户可以像平常一样与表单和文档交互,不需要时选择“确定”或“取消”。
56、@Do
    从左到右计算表达式,并返回列表中一个表达式的值。
57、@DocChildren
用在列公式或窗口标题公式中,返回子文档数或当前文档下的子分类数或分类数。该函数只将直接答复文档计作子文档。例如,主文档的答复文档是它的子文档,但是对答复文档的答复就不是主文档的子文档。
58、@DocDescendants
在一个列或窗口标题公式中返回属于当前文档或分类的子文档或子分类是数目。@DocChildren仅统计直接的子文档或分类,而@DocDescendants要统计所有的子文档或子分类数目,不管在哪一级都要计算在内。
59、@DocFields
    返回文档上所有域的列表。
60、@DocLength
    返回文档最接近文档节数的大小。
61、@DocLevel
    返回文档字符串,表示文档或目录的级别。
62、@DocLock
    返回当前文档的锁定信息,或者显示数据库中是否有能锁定的文档。
63、@DocMark
    在运行公式的代理中,指示是否想保存文档的改变。
64、@DocNumber
在列或窗口标题公式中,返回一个字符串代表当前文档或目录的项目编号。例如,2.3表示该文档是第二个项目下面的第三个项目。
65、@DocOmittedLength
    返回在复制时裁减文档的大概字节数。
66、@DocParentNumber
在一个列或窗口标题公式中,返回一个字符串,它可以表示一个石头项目的父项目的项目编号。当前视图项目和它的父项目都既可以是文档也可以是分类。
67、@DocSiblings
在类或窗口标题公式中,返回一个字符串,它表示与某个视图项目(文档或分类)处于同一级的视图项目个数。返回的总数包括该视图项目本身。例如,如果文档是仙姑8.2的话,同时存在项目8.1,8.3和8.4的话,则有四个同级的问的文档,@CocSiblings返回4。
68、@DocumentUniqueID
一个32字符的字母和数字的组合,对数据库的多个复制唯一标识一个文档。如果两个文档有相同的唯一标识符,那么它们互为另一个的复制。
69、@Domain
    返回当前用户的Notes文件域名,该域名列在个人通讯录的当前文档中。
70、@Dowhile
    当条件为真时执行一条或多条语句,并在执行完语句后检查条件。
71、@EditECL
为了制定的通讯录和名称(使改变ECL),显示“工作站安全性;执行控制列表”对话框。不管管理员选择什么名称(例如,Manager、Developer或LimitedAccess),这些名称通常不是用户名。
72、@EditUserECL
为了制定的通讯录和名称(使在当前工作站上改变个人ECL),显示“工作站安全;执行控制列表”对话框。
73、@Elements
计算列表中文本、数字时间—日期的个数。该函数总是返回一个数字以指明在列表中的项目个数。
74、@EnableAlarms
    启用或禁用警告后台守护进程。
75、@Ends
    去顶字串是否在字符串的后面,@Ends是区分大小写的。
76、ENVIRONMENT
设置一个环境变量存储在用户的NOTES.INI文件里(Windows,OS/2和UNIX)或Notes Preferences文件里(Macintosh)。
77、@Enviroment
设置或返回存储在用户的NOTES.INI文件(Windows,OS/2和UNIX)中或Notes Preferences文件(Macintosh)中的环境变量。
78、@Error
允许在表达式中产生一个错误条件。这对于多个域中判定当前数值是否出现了错误是很有用的。
79、@Eval
    在运行时,将文本语句作为命令编译或运行,返回公式列表中最后公式表达式的值。
80、@Exp
    计算e(接近于2.718282)的指定指数的幂值(指定的指数包含最多14个小数位)。
81、@Explode
    返回由文本串或日期范围中的元素所组成的文本列表。
82、@Failure
返回一个提供的消息;当用于确认输入公式有效时,若输入的数值不符合确认条件的话, @Failure则显示其消息。
83、@False
    返回值0。
84、FIELD
当给存在文档里的域(与临时域对应)赋值时必须要用的FIELD关键字。可以用FIELD改变一个以有域的内容或创建新的域。
85、@FileDir
    返回文件目录的路径名。
86、@FileEq
    在明确范围内比较两个数字是否相等。
87、@FontList
    提供该公式所在执行的Notes客户端所能得到的字体列表。
88、@For
当条件为真时执行一条或多条语句。当执行完语句后,在执行语句和执行增加语句前检查条件。
89、@FormLanguage
    返回当前文档的语言。
90、@GetAddressBooks
    返回通讯录列表。
91、@GetCurrentTimeZone
    返回当前操作系统的时区。
92、@GetDocField
    给定唯一的文档标识符,返回文档中某个指定域的内容。
93、@GetField
    返回指定域的值。
94、@GetFocuTable
    返回处于焦点的表格的名字,当前列或当前行。
95、@GetHTTPHeader
    在Web应用程序中,从客户让服务器处理的请求中返回HTTP头的值。
96、@GetIMContactListGroupNames
    返回即时消息通讯表的组名。
97、@GetPortsList
    返回一个启用或禁用端口的列表。
98、@GetProfileField
    从简要表文档取回一个域,为其余回话缓存这个域值。
99、@GetViewInfo
    返回视图的属性。
100、@HardDeleteDocument
    在运行公式的地理中,该公式从服务器中永久性的删除正在处理的文档。
101、@HashPassword
    编码一个字符串。
102、@Hour
    返回在指定时间—日期中小时部门的数值。
103、@If
判定一个条件;如果条件为“真”,Notes立即执行紧跟在条件右面的操作,然后停止。如果条件为“假”,Notes跳到下一个条件并测试它,依此类推。如果没有一个条件是“真”,Notes执行Else-操作。
104、@IfError(删除)
    如果语句返回错误,则返回空字符串或语句的值。
105、@Implode
    连接文本列表中所有成员并返回一个文本字符串。
106、@InheritedDocumentUniqueID
    当前文档继承父文档的唯一标识符。
107、@Integer
将数字或数字列表截断成一个整数,去掉小数点部分。结果列表中的值有多值分隔符,这一多值分隔符可以在包含此公式的域定义中指定。
108、@IsAgenEnabled
    指示一个定时代理是否有效。
109、@IsAppInstalled
    指定某一特殊类型的应用是否安装。
110、@IsAvailable
    查找文档中是否存在某个域名。
111、@IsCategory
    在列公式中,如果将视图中某行的条目定义为一个目录,则返回一个指定的字符串。
112、@IsDB2
    给定一个服务器和文件名或者一个服务器和复制id,返回给定的数据库是否支持DB2。
113、@IsDocBeingEdited
    检查文档的当前状态,如果文档正在被编辑,则返回1(真);否则返回0(假)。
114、@IsDocBeingLoaded
查看文档的当前状态,入托文档正在被载入内存以进行显示,则返回1(真);否则返回0(假)。
115、@IsDocBeingMailed
    检查文档的当前状态,如果文档正在进行邮寄,则返回1(真);否则返回0(假)。
116、@IsDocBeingRecalated
    检查文档的当前状态,如果文档正在被计算,则返回1(真);否则返回0(假)。
117、@IsDocBeingSaved
    检查当前文档的状态,如果文档正在被保存,则返回1(True);否则返回(False)。
118、@IsDocTrunated
    说明当前文档是否被截断。
119、@IsEmbeddedInsideWCT
    指出当前的Notes session是否嵌入在工作场所的客户机程序。
120、@IsError
    如果数值是一个@ERROR值,则返回1(真),否则如果不是一个错误的话,返回0(假)。
121、@IsExpandable
    在公式列,如果视图中的一行是扩展的。则返回某个特定字符串。
122、@IsMember
    指出一条文本(或文本列表)是否包含在另外一个文本列表中。该函数是区分大小写的。
123、@IsModalHelp
    说明当前文档是否是一个模式帮助文档。
124、@IsNewDoc
    对于一个正在编辑的文档,指出该文档是否已经存盘。
125、@IsNotMember
指示一个文本字符串(或文本列表)是否没有包含在另一个文本列表中。该函数区分大小写。
126、@IsNull
对一个空值进行检验,如果一个值是一个单文本值且为空则返回真,否则返回假。如果该只是一个错误也返回假。
127、@IsNumber
    指出给定的数值是否是一个数字(或数字列表)。
128、@IsResponseDoc
    指示某值是否是另一个文档的答复文档。
129、@IsText
    指示某值是否是文本(或文本列表)。
130、@IsTime
    指示一个值是否是时间—日期值(或时间—日期列表)。
131、@IsUnavailable
    指出一个域名是否保存在一个文档里。
132、@IsValid
    在当前表单执行所有检验公式。
133、@IsVirtualizedDirectory
    指出当前服务器是否是有效目录。
134、@Keywords
    给定两个文本列表,值返回第一个列表和第二个列表之间重叠的部分。
135、@LanguagePreferences
    返回用户喜欢的语言设置。
136、@LaunchApp
    启动请求的Domino应用程序。
137、@LDAPServer
    返回当前网络中LDAP侦听器的URL和端口值。
138、@Left
    从左到右搜素一个字符串,并返回字符串和最左边的字符。
139、@LeftBack
    从右至左搜索字符串并返回一个字串。
140、@Length
    返回文本字符串中字符的个数。
141、@Like
    将一个字符串和一个模式进行匹配。它与大小写有关,支持Notes SQL。
142、@Ln
    返回一个自然对数,自然对数以e(接近于2.718282)为底。
143、@Local
    返回有关语言代码的信息。
144、@Log
    返回任何大于0的数值(以10为底)。
145、@LowerCase
    将制定字符串里的大写字母换成小写字母。
146、@MailDbName
    返回Notes服务器的名称和当前用户的邮件数据库的名称。
147、@MailEncryptSavedPreference
    指出用户是否在“用户惯用选项”对话框选择“加密保存的邮件”。
148、@MailEncryptSentPreference
    指出用户是否在“用户惯用选项”对话框选择“加密发送邮件”。
149、@MailSavePreference
    指出用户在“用户惯用选项”对话框选择“保存发送的邮件”选项。
150、@MailSend
    有两种使用@MailSend的方法:
·当无参数时,@MailSend邮寄当前的文档(计算函数时正在处理的文档)给“SendTo”域中指定的收件人。该文档必须具有“SendTo”域。
·当使用一个或多个参数时,@MailSend编写一个基于列表中所提供的信息的新邮件便笺,并发送到“sendTo”、 “copyTo”、 “blindcopyTo”列出的接收者。
151、@MailSignPerference
    指出用户是否选择“用户惯用选项”对话框“签发邮件”。
152、@Matches
用一个样本字符串去匹配一个字符串。因为样本字符串可以包含一定数量的通配符和逻辑符号,所以可以用较复杂的模式去匹配字符串。
153、@Max
    给出两个数字,返回其中较大的数字。
154、@Member
    给定一个值,在文本列表中找到该值的位置。
155、@Middle
    从一个字符串中间返回一个字串。从左向右扫描,由参数确定中间的起始位置。
156、@MiddleBack
    从一个字符串中间返回一个字串。从右向左扫描,由参数确定中间的起始位置。
157、@Min
    给定两个数字,返回其中比较小的数字。
158、@Minute
    在某特定时间—日期中提取分钟数值。
159、@Modified
    返回一个时间—日期值,表示文档最后一次编辑和保存的时间。
160、@Modulo
    返回除法操作的余数。
161、@Month
    从指定的时间—日期中提取月份值。
162、@Name
操作层次名称。可以缩写标准格式的名称,扩展缩写名称为它的标准格式,在名称中辨别特殊的部件,调整各部件顺序使其可以通过层次名称分类的一个视图。
163、@NameLoolup
在所有的Domino目录中寻找美一个指定的用户名,对于每一个指定的用户名,返回一个单一的文本值列表。
164、@Narrow
    将双字节的数字字符转换为单字节的数字字符。
165、@NewLine
    在文本字符串中插入一个新行(回车)。
166、@No
    返回数字0。
167、@NoteID
    当前文档的标识符。
168、@Nothing
    利用@Transform公式,不返回列表元素。在其他环境中该公式无效。
169、@Now
    返回当前的日期和时间。
170、@OptimizeMailAddress
    给定一个邮件地址,返回并删除无用网络地址。
171、@OrgDir
    在xSP环境中,返回单签授权用户所注册公司所在的子目录的名称。
172、@Password
    密码字符串。
173、@PasswordQuality
    计算密码域值得密码质量。
174、@Pi
    返回常量圆周率Pi,精确到15个小数点。Pi是圆的圆周长和其直径的比值。
175、@PickList
显示一个指定视图,用户可以从中悬着一个或多个文档。@PickList返回选择的文档的文档中的列值。或者显示一个包含可获得Domino目录信息的对话框。用户可以选择一个或多个人、组、服务器名和资源名,@PickList返回这些名字。
176、@Platform
    返回当前运行Notes的平台版本。
177、@PolicyIsFieldLocked
指示一个域是否被管理规则锁定而不能被改动。
178、@PostedCommand
执行一条Notes命令。大多数标准菜单命令可以用@PostedCommand执行。此外,许多专用命令也可以用@PostedCommand执行。在一个公式里,任何用@PostedCommand激活的命令都在公式其余部分执行后再执行。
179、@Power
    求某一底数的幂值。
180、@Prompt
为用户显示一个对话框,并返回文本值,该值基于用户在对话框中采取的操作。@Prompt用来给用户提示信息并根据用户的输入确定操作过程。
181、@ProperCase
    将字符串中的单词转换成适当的用大写字母开头的名字,后面的其他字母小写。
182、@Random
    产生一个0与1之间的随机数,包含0和1。
183、@RefreshECL
    从指定的通讯录和名称中将管理执行控制列表拷贝到个人工作站ECL。
184、@RegQueryValue
    根据所给的值查询Windows注册表。
185、@REM
REM关键字允许给公式增加解释性注释。为公式增加注释使数据库更易于维护。为长的或复杂的公式增加注释尤其有用。
186、@Repeat
    以制定的次数重复某字符串。
187、@Replace
    在文本列表中执行查找—替换操作。
188、@ReplaceSubstring
    用指定的新单词或短语代替某字符串中某单词或短语,区分大小写。
189、@ReplicaID
    返回当前数据库复本的ID。
190、@Reponses
    返回文档的答复(在当前视图中)个数。
191、@Return
立即停止公式的执行并返回指定值。当某个条件为真,只想执行公式剩余部分时,该公式有用。
192、@Right
返回字符串最右边的字符。可以指定返回最右边的几个字符,或者得到指定字串的右边的所有字符。
193、@RightBack
    返回字符串中最右边的字符。
194、@Round
    将指定的数字舍入到最接近它的值;如果和制定了另外的数字,就用它作为舍入因子。
195、@Second
    从指定的时间—日期中,提取并返回秒值。
196、SELECT
在公式、视图或复制中运行的代理用关键字SELECT来定义选择文档的标准。在表达式之前使用SELECT语句,以定义想改变、在视图中看到或要复制的文档组。
197、@Select
返回数字所指定的位置上的值。如果数字本身大于值的数量,则@Select返回值列表的最后一个值。如果在数字指定的位置上是一个值的列表,则分会整个列值。
198、@ServerAccess
    检查指定的用户对服务器的名称。
199、@ServerName
    返回包含当前数据库的服务器的名称。
200、@Set
    为临时变量指定值以用于公式中。
201、@SetDocField
    给定一个文档的唯一标识符,设置文档里的某个域的值。
202、@SetEnvironment
在用户的notes.ini文件(Windows,OS/2和UNIX)中或Notes Preferences文件(Macintosh)中设置存储环境变量。
203、@SetField
指定一个数值存储到某文档的某个域中(使用@Set为临时变量)。这与使用关键字FIELD相似,只是@SetField可以用在另一个“函数”中。
204、@SetHTTPHeader
    在Web应用程序中,设置浏览客户然服务器处理请求的HTTP头的值。
205、@SetProfileField
    在简要表文件中设置域值。
206、@SetTargetFrame
    当打开页面、视图、帧结构集,或者新建或编辑文档时,允许指定目标帧结构。
207、@SetViewInfo
    在标准的大纲视图中,根据指定的类型、过滤视图来显示文档。
208、@Sign
    指出一个数是正数、负数还是零。
209、@Sin
给定用弧度表示的某个角度,返回该角度的正弦值。在直角三角形中,某个锐角的正弦值就是该角的对边与斜边长度的比值。
210、@Sort
    排序列表。
211、@Soundex
    返回某指定字符串的Soundex码(Notes语音拼写)。
212、@sqrt
    给出一个数字返回其平方根。
213、@StatusBar
    把信息写入状态栏。
214、@Subset
从左到右搜索一个列,并返回所指定数量的值。如果指定一个负数,@Subset将从右到左进行搜索,但结果且是按从头到尾的次序排列。
215、@Success
返回1(真)。在与的输入确认公式中使用该函数和@If以指示输入的值满足正确的准则。
216、@Sun
运算一组数字或数字列表的和。
217、@Tan
给定某个角度弧度值,返回该角的正切值。在直角三角形中,某个锐角的正切值就是它的对边和它的邻边长度的比值。
218、@TemplateVersion
    返回数据库设计基于的主模板的版本号。
219、@Text
    将任意数值转换成文本字符串。
220、@TextToNumber
    在可能的情况下,将文本字符串转换成数字。
221、@TextToTime
    在可能的地方,将文本字符串转换为时间—日期数值。
222、@ThisName
    返回当前域的名称。
223、@ThisValue
    返回当前域的值。
224、@Time
    将不同时间和日期的组成转换成一个时间—日期。
225、@TimeMerge
    将分开的时间、日期和时区值合为一个时间—日期值。
226、@TimeToTextInZone
    在时区信息中将时间—日期值转换为文本字符串。
227、@TimeZoneToText
    将时区值转换为可读的文本字符串
228、@Today
    返回今天的日期。
229、@Tomorrow
    返回明天的日期的时间—日期值。
230、@ToNumber
    将带有文本或数字的日期类型转换为数字。
231、@ToTime
    将带有时间或文本的日期类型转换为日期—时间值。
232、@Transform
    对于列的每个元素应用该公式,然后在列中返回结果。
233、@Trim
    删除文本字符串或文本列表的每个元素中的开头、结尾和多余的空格。
234、@True
    返回数字1。该函数等效于@Yes。
235、@unavailable
    使用此函数使某个域无效。
236、@UndeleteDocument
    在选中“允许软删除”的数据库中,恢复被删除的文档。
237、@Unique
    ·不带参数时返回一个随机的唯一文本值。
    ·带一个参数时,从文本表里删除重复值,仅返回列表各元素第一次出现的文本值。
238、@UpdateFormulaContext
    更新当前访问的视窗的公式的上下文。
239、@UpperCase
    将制定字符串里的小写字母转换为大写字母。
240、@URLDecode
    将URL字符串解码为常规文本。
241、@URLEncode
    将URL字符串编码为URL安全格式。
242、@URLGetHeader
    从URL返回超文本传输协议标题头信息。URL是标识和定位一个Web页面的文字串。
243、@URLHistory
用于导航,保存和重载一个URL历史表。URL历史表保留你访问过的所有Web页面的历史记录。“前进”和“后退”按钮及Web Tour都将用到历史表。
244、@URLOpen
    检索一个由URL定义的Word Wide Web页面。
245、@URLQueryString
    在Web应用程序中,返回当前URL命令或参数,或者参数的一个值。
246、@UserAccess
    给定一个服务器和文件名,指出当前用户对数据库的存取级别。
247、@UserName
    返回当前用户名或服务器名。
248、@UserNameLanguage
    返回与用户ID相关的语言标签。
249、@UserNameList
    返回当前的用户关于以下信息的文本串:
·普通姓名。
·所有的带组织姓名。
·与ACL中关联的任何角色。
·用户属于的所有组(只有数据库在一个服务器上时)。
250、@UserPrivileges
    返回当前用户权限的数字表。函数仅返回在权限表里的位置,而不是权限的名字。
251、@UserRoles
对于服务器上的数据库选择了“强行统一此数据库的所有复本的存取控制列表”选项的本地数据库,返回当前用户拥有的角色列表。角色在数据库的存取控制表中定义。
252、@V2If
    这个函数执行一个@If操作;其语法和@If的语法一样。
253、@V3UserName
返回当前用户名或服务器名。在本地数据库或给予服务器的数据库的一个私有视图上使用@V3UserName将返回用户的名字。
如果用户名是层次结构的,@V3UserName用简写格式返回名字(忽略CN、OU、O和C标识符)。要用标准格式返回名字,应使用@UserName。
254、@V4UserAccess
    根据所给的服务器和文件名,显示当前用户对服务器的访问级别。
255、@ValidateInternetAddress
    使以RFC822或RFC821地址格式为基础的语法生效。
256、@VerifyPassword
    比较两个密码。
257、@Version
    返回你正在运行的Notes软件的版本号。
258、@ViewShowThisUnread
    改变一个视图使它仅显示未读文档或显示未读和已读文档。
259、@ViewTitle
    返回当前的视图名字。如果有别名和同义词,返回一个文本表。
260、@WebDbName
返回在URL中编码的数据库的名称。
261、@Weekday
    计算工作日,返回一个数字表示日期。
262、@While
    当条件为真时,执行语句。在执行语句前检查条件。
263、@Wide
    将单字节的数字字符转换为双字节的数字字符。
264、@Word
从一个字符串里返回指定的单词。单词是字符串的一部分,用第一的分隔符分开。例如,如果你定义一个空格作为分隔符,那么一个单词是前面和后面个跟一个空格的任意字符系列(或者用引号指出字符串的起始位置)。
265、@Year
    从指定的时间—日期值中提取年份。
266、@Yes
    返回值1。
267、@Yesterday
    返回与昨天相对应的时间—日期值。
268、@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 从当前文件夹删除所选文档。

 

访问用户环境
用户环境是包含数据库的服务器或工作站,数据库包括以下内容: 复制公式、由新邮件到达时或定时触发的代理、选择公式或列公式。否则,用户环境是用户运行公式的 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 从当前文件夹删除所选文档。

猜你喜欢

转载自blog.csdn.net/vera514514/article/details/8925415
0条评论
添加一条新回复