lotus笔记.docx

上传人:b****5 文档编号:4656900 上传时间:2022-12-07 格式:DOCX 页数:39 大小:33.91KB
下载 相关 举报
lotus笔记.docx_第1页
第1页 / 共39页
lotus笔记.docx_第2页
第2页 / 共39页
lotus笔记.docx_第3页
第3页 / 共39页
lotus笔记.docx_第4页
第4页 / 共39页
lotus笔记.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

lotus笔记.docx

《lotus笔记.docx》由会员分享,可在线阅读,更多相关《lotus笔记.docx(39页珍藏版)》请在冰豆网上搜索。

lotus笔记.docx

lotus笔记

一.Ls中对域的取值问题:

对于LotusScript,除了Rich-Text域外的元素,如文本、单选框、列表框、复选框等,你可以用几乎相同的代码取得它们的值。

例如:

如果有一个“Location”域,不论它是何种类型,你都可以用下面的LotusScript代码取得它的值:

fieldVals=doc.Location

或者这样:

fieldVals=doc.GetItemValue("Location")

二.我如何在页面上建立一个热点,让它打开一个文档?

在页面上写一段文字,然后选上这段文字,然后点菜单”创建”–热点--操作热点

然后选LotusScript,举个例子,比如打开ID为NT00000C62的文档:

SubClick(SourceAsButton)

DimuiworkspaceAsNewnotesuiworkspace

DimcurdatabaseAsnotesuidatabase

DimdatabaseAsnotesdatabase

DimdocAsnotesdocument

Setcurdatabase=uiworkspace.currentdatabase

Setdatabase=curdatabase.database

Setdoc=database.getdocumentbyid("00000C62")

Calluiworkspace.EditDocument(True,doc,False)

EndSub

三.我如何实现归档,比如我如何把当前视图中所有被选中的文档归入文件夹fold中?

用lotusScript象如下这样实现:

SubAddDocToFold(foldAsString)

DimuiworkspaceAsNewnotesuiworkspace

DimuiviewAsnotesuiview

DimdocAsNotesDocument

DimdocListAsString

Setuiview=uiworkspace.currentview

Forj=1Touiview.Documents.Count

Setdoc=uiview.Documents.GetNthDocument(j)

Calldoc.PutInFolder(fold)

Next

EndSub

四.我如何实现把某文件夹视图中的被选择的文档从该文件夹中清除,但却不能删除他们?

用Script实现如下:

SubRemoveDocFromFold(foldAsString,allAsInteger)

'功能:

'把文档从某个文件夹中移走,但并不删除此文档

'参数:

'fold:

文件夹

'all:

0表示仅移走当前选择的文档,1表示移走该文件夹中所有文档

DimuiworkspaceAsNewnotesuiworkspace

DimuiviewAsnotesuiview

DimdocAsNotesDocument

DimviewAsnotesview

Setuiview=uiworkspace.currentview

Setview=uiview.view

Ifall=0Then'移去所选文档

Forj=1Touiview.Documents.Count

Setdoc=uiview.Documents.GetNthDocument(j)

Calldoc.RemoveFromFolder(fold)

Next

Else

Ifall=1Then'移去全部文档

Setdoc=view.GetFirstDocument

'遍列该视图的所有文档,获取所有满足条件的纪录数

WhileNot(docIsNothing)

Calldoc.RemoveFromFolder(fold)

Setdoc=view.GetNextDocument(doc)

Wend

EndIf

EndIf

'Evaluate("@Command([ViewRefreshFields])")

EndSub

五.我如何把当前视图中的所有的被选择的文档的某个域的值替换掉?

用lS实现如下:

SubSelectedDocFieldReplace(FieldAsString,repvalAsString)

'功能:

'把所选文档中的每个Field域的值改为repval

'参数:

'Field要更改的域的名称

'repval修改后的域值

DimuiworkspaceAsNewnotesuiworkspace

DimuiviewAsnotesuiview

DimdocAsNotesDocument

Dimorder_numAsString

'order_num=Inputbox$("请输入批次")

Setuiview=uiworkspace.currentview

Forj=1Touiview.Documents.Count

Setdoc=uiview.Documents.GetNthDocument(j)

OnErrorGotolable1

Calldoc.replaceitemvalue(Field,repval)

Calldoc.save(True,False)

Next

ExitSub

lable1:

Msgbox("错误!

,所选文档没有指定的域,这个错误发生在没有给selectedDocFieldReplace()函数传递正确的参数")

ExitSub

EndSub

六.如何实现表单上的内容根据用户的输入动态变化?

一般可以用notes的隐藏属性功能来控制,使用当公式为真是隐藏,然后靠公式来控制具体怎样隐藏.比如可以在对话筐上放一个对话筐列表,里面放十个选项,当用户选择了其中的某几个选项时,响应的在下面的表单部分显示几行.这可以画一个表格,这个表格的属性中设置边框的线条粗细为零.然后对应十个选项分为十行,每行填入和选项响应的内容,然后选定某一行的所有文本,编辑其隐藏属性,选当公式为真时隐藏,这个公式您就可以写成当选项的被选中条目中不包含本行文字时隐藏就可以了,这样这一行就会在响应的选项被选中时才会显示.

七.如何将查询结果放到一个文件夹里?

下面是将搜索结果放到名叫newfolder的文件夹中,并跳转到该文件夹上

SubClick(SourceAsButton)

dimuiwasnewnotesuiworkspace

dimuidocasnotesuidocument

dimdocasnotesdocument

setuidoc=uiw.currentdocument

setdoc=uidoc.document

dimssasnewnotessession

dimdbasnotesdatabase

setdb=ss.currentdatabase

constnewfolder="文件夹名称"

DimdocsAsnotesdocumentcollection

q=doc.query(0)

Setdocs=db.ftsearch(q,0)

Calldocs.PutAllInFolder(newfolder)

Calluiw.OpenDatabase(,,newfolder)

EndSub

八.如何在Notes中调用ODBC数据源中的进程?

DimsessionAsNewNotesSession

DimconAsNewODBCConnection

DimqryAsNewODBCQuery

DimresultAsNewODBCResultSet

Setqry.Connection=con

Setresult.Query=qry

con.ConnectTo(资料库)

qry.SQL=SELECT*FROM资料库

result.Execute

Ifresult.IsResultSetAvailableThen

Do

result.NextRow

id=result.GetValue(ID,id)

LoopUntilresult.IsEndOfData

result.Close(DB_CLOSE)

Else

Messagebox"CannotgetresultsetforAssetData"

ExitSub

EndIf

con.Disconnect

EndSub

九.获得当前视图中选择了的文档?

可以用Notesdatabase的Unprocesseddocuments属性。

DimsessionAsNewnotessession

DimdbAsnotesdatabase

DimcollectionAsnotesdocumentcollection

Setdb=session.currentdatabase

Setcollection=db.UnprocessedDocuments

Unprocesseddocuments其实很有用的

一十.notes和Excel交换数据

DimsessionAsNewNotesSession

DimdbAsNotesDatabase

DimviewAsNotesView

DimdocAsNotesDocument

DimexcelApplicationAsVariant

DimexcelWorkbookAsVariant

DimexcelSheetAsVariant

DimiAsInteger

SetexcelApplication=CreateObject(Excel.Application)

excelApplication.Visible=True

SetexcelWorkbook=excelApplication.Workbooks.Add

SetexcelSheet=excelWorkbook.Worksheets(Sheet1)

excelSheet.Cells(1,1).Value=姓名

excelSheet.Cells(1,2).Value=年龄

i=1

Setdb=session.CurrentDatabase

Setview=db.GetView(abc)

Setdoc=view.GetFirstDocument

WhileNot(docIsNothing)

i=i+1

excelSheet.Cells(i,1).Value=doc.ClassCategories(0)

excelSheet.Cells(i,2).Value=doc.Subject(0)

Setdoc=view.GetNextDocument(doc)

Wend

excelSheet.Columns(A:

B).Select

excelSheet.Columns(A:

B).EntireColumn.AutoFit

excelWorkbook.SaveAs(Script内容)

excelApplication.Quit

SetexcelApplication=Nothing

一十一.在视图中怎样历遍所有的文档?

DimdbAsNewNotesDatabase(Ankara,current\projects.nsf)

DimviewAsNotesView

DimdocAsNotesDocument

Setview=db.GetView(Open\ByDueDate)

Setdoc=view.GetFirstDocument

WhileNot(docIsNothing)

....................

Setdoc=view.GetNextDocument(doc)

Wend

一十二.在scipt中如何调用公式

例如我们想要取服务器名的普通名,在script中用@name(),假设server变量以取到服务器名称在script中用Evaluate可以运行公式,如:

servername=Evaluate(@name([CN];server))

一十三.notes同关系型数据库比较

关系型数据库LotusNotes

基于事务处理模型基于文档型

使用结构化数据使用半结构数据元素(丰富文本,图片,等)

提供实时访问数据使用复制来增加或减少文档(按修改)

使用特别的queiries定位数据使用视图定位数据

集中在一个企业内部在企业与企业间

使用SQL来访问使用全文检索来访问

一十四.如何做一个动态的windowstitle?

在表单中的windowstitle的事件中写入一个公式,如想按用户的名字变,写上@username就ok了!

要想按域变,写上域名就ok.

一十五.怎样做到关键字能自动增、减?

在关键字属性中,选用公式,然后输入公式,公式用@dbcolumn函数返回视图中的值,这时就能做到关键字能自动增、减,不过有没有用的关键字。

一十六.各种域类型区别介绍?

域类型何时变化

计算型当文档创建,存盘,刷新时计算,并保存在文档中

显示时计算当文档打开编辑,读或刷新时计算,不保存在文档中

创建时计算当文档被创建时,仅此计算一次,并保存在文档中。

一十七.如果让用户必须填一些域,否则不准保存?

@假设该域为name;在该Name域的inputvalidation的事件中写入下列公式:

@if(name="";@failure("pleaseinputyourname");@success)

 

一十八.公式学习:

变量

变量有两种类型:

域,临时变量,你可以在公式中使用域名作为变量如:

FirstName

临时变量只能存在于公式中。

它的作用范围就是它所在的公式,除了在公式中赋予给它的属性以外没有其他属性。

创建一个临时变量的语法是:

variableName:

=value

常量

常量类型描述

文本型用""标记的字符集,如:

"joe.",注意:

为了在文本串中用引号,用转义符"\",如:

\""

数字型数字0-9,能用(+和-),科学记数法和常量e

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

[98-2-31]

操作符

操作符类型

符号

例子

赋值

=

Areacode:

=@left(phone;3)

计算

乘号*除号/加号+减号

UnitPrice*3TotalPrice/qtyTotalPrice+TaxTotalPrice-Discount

比较

等于=不等于!

==!

<>;>;<小于<小于等于<=大于>;大于等于>;=

SELECTYear=1996SELECTMonth!

="January"SELECTAge<70SELECTYear<=1990SELECTAge>;30SELECTAge>;=21

串联

列表:

文本+

"Tricycle":

"Mini-bike":

"5-speed"CompanyName+",inc."

逻辑

否!

于&或|

Status="Approved"&TargetMarket!

="Children"

公式关键字

关键字语法

描述

例子

FIELDfieldname:

=value

赋一个值给当前notes文档中的域,如果域不存在则创建一个,存在则覆盖该值。

FIELDCompanyName:

=Company+"。

inc"

REM["remarks"]

注释

REM"12/15/95"

SELECTlogicalValue

在视图,代理或复制公式中用来定义一个文档集

SELECTform="idea"

字符串处理函数介绍?

函数

描述

@propercase(string)

将字符串中的单词转换成字首大写的形式:

每个单词的头一个字母大写,后面的其他字母小写。

以下的样例将返回EveryChildLovesToys.@ProperCase("everyCHILDLOvestoys")

@trim(strin)

从文本字符串中(或文本列表的每一个元素中)删除位于开头和结尾的空格,同时还删除多余的空格。

以下的样例将返回ROBERTSMITH。

@Trim(@UpperCase("RobertSmith"))

@length(string)

返回文本字符串中字符的个数.该样例返回45。

@Length("Theboycrossedthewide,butgentle,stream.")

@newline

在文本字符串中插入一个新行(回车)。

下面公式返回HiThere"Hi"+@NewLine+"There"

@matches(string;pattern)

用一个样本字符串去匹配一个字符串。

因为样本字符串可以包含一定数量的通配符和逻辑符号,所以可以用较复杂的模式去匹配字符串。

该样例返回0。

@Matches("Abigtest";"a?

test")

@left

从左到右搜索字符串,并返回字符串中最左边的几个字符。

该样例返回"Len"。

@Left("LennardWallace";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将从右到左搜索,但结果却是按从头到尾的次序排列。

以下的样例将返回NewOrleans;London。

@Subset("NewOrleans":

"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

包含父文档的所有满足

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1