LotusScript中数据库文档操作
一、表单
表单事件
QueryOpen '在表单打开前产生的事件
PostOpen '在文档找开后和用户获得输入焦点前发生
PostRecalc '在当前文档在重新计算之前,在文档上的所有公式执行之后发生
QuerySave '在文档保存之前发生
QueryModeChange '将当前的文档改变模式时发生,如只读模式改成编辑模式
PostModeChange '在当前的文档改变模式之后发生
QueryClose '在数据库关闭之前发生
子程序如下:
Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
'代码
End Sub
Source '是一个正在访问的当前文档的NotesUIDocument对象
Mode 'True表示表单(文档)是在编辑模式下打开
Isnewdoc 'True表示表单是新的
Continue '是否继续,若是QueryOpen则停止表单的打开,若是QuerySave则停止保存操作
二、对数据库文档操作的基本步骤
1、访问数据库
NotesSession类代表当前script的Notes环境。它提供访问环境变量、地址、当前用户的信息、当前Notes平台和版本号等信息。其表达式为:
Dim Session As New NotesSession
或
Dim session as NotesSession
Set session = new NotesSession
访问数据库,其表达式为:
Dim db as NotesDatabase
Set db = Session.CurrentDatabase
2、访问视图
Dim view as NotesView
Set view = NotesDatabase.getView(viewName)
3、在视图中找文档
Set NotesDocument = NotesView.getFirstDocument
Set NotesDocument = NotesView.getNextDocument(NotesDocument)
4、将文档放进一个文件夹中
NotesDocument.putInFolder(FolderName) '若文件夹不存在,Notes将创建它
三、选择文档
1、访问当前文档方法
Dim session as NotesSession '定义当前工作区
Set session = new NotesSession '创建当前工作区,此两句可以合成一句
Dim doc as NotesDocument '定义当前文档对象
Set doc = session.DocumentContext '创建当前文档对象
If doc.isNewdoc then '若当前文档是新建的,则显示新建
MessageBox("This is a new document")
Else '若当前文档不是新建的,则显示已存在
MessageBox("This is a existing document")
End if
2、NotesUIDocument类的一些重定义光标的方法
gotoTop '定义光标在当前文档第一个可编辑的域
gotoBottom gotoNextField gotoPrevField gotoField("filedname")
3、访问文档中多值域数组操作
1)用UBound(FieldName)函数来测定多值域值的个数
Dim session as New NotesSession '创建当前工作区
Dim mymemo as NotesDocument '定义当前文档
Set mymemo = session.DocumentContext '创建当前文档
Dim MyValue as Variant '创建一个变量为可变型
MyValue = mymemo.getItemValue("Subject") '将当前文档中的Subject域的值赋给变量
If UBound(MyVale) = 0 Then '若Subject域的值只有一个值时则...
...
End If
2)获取域数组中值的方法
Dim subj as Variant '设置一个可变型变量
subj = doc.GetItemValue("Subject") '用GetItemValue获取文档中的域的多值
'上一句也可以改成subj = doc.Subject,效果一样
MessageBox(subj(0)) '访问数组中的值
4、访问数据库中视图文档的例子
Dim session as NtoesSession
Set session = New NotesSession
Dim db as NotesDatabase
Set db = session.CurrentDatabase
Dim view as NotesView
Dim doc as NotesDocument
Set view = db.getView("ByCustomer")
Set doc = view.getFirstDocument
Do while Not(doc Is Nothing)
MsgBox("最后访问是在:" & doc.LastAccessed)
doc.putInFolder("PersonalDoc")
Set doc = view.getNextDocument(doc)
Loop
分享到:
相关推荐
LotusScript中数据库文档操作[定义].pdf
分四个部分,都只是与lotusscript相关的。 1,用LotusScript访问修改数据库,包含lotusscript基础 2,用户界面操作 3,创建和修改文档 4,使用On Error敘述追踪 runtime错误
lotus domino邮件从一个数据库复制到另一个数据库
Property Get()Property Get viewDocuments 在Domino的数据库中,有数据文档和设计文档两种文档。设计文档包括单,视图,代理等,这些 组成了一个数据库设计。标准Notes类库能够很容易的访问数据文档,但却没有提供...
通过 Notes 里内嵌的公式或 Script 语言,可在 Notes 文档中引入非 Notes 数据库信息,把现成的数据转换成 Notes 数据库。Notes 提供以下方法来存取外部数据: 1. 在 Notes 公式里利用 @Db 函数 Notes 提供 @...
Lotus Domino 中的文档可以具有唯一的标识符,即文档 ID,这个 ID 是一个独特的字符串,用于标识文档在数据库中的唯一性。 在 Lotus Domino 中,文档 ID 是一个非常重要的概念,它可以用于标识文档、检索文档、甚至...
这些事件可以被用于处理数据库、视图、表单或域中的各种操作。 处理数据库的过程 在处理数据库的过程中,会发生多种事件,例如: * Initialize:Script 库被初始化时发生。 * Postopen:视图被打开时发生。 * ...
该标题表明了本文的主题是 Lotus Domino 附件开发,特别是将多个附件批量放到一个文档中。 描述解释 Lotus Domino 附件开发 -- 附件批量放到一个文档 描述中强调了 Lotus Domino 附件开发的重要性,并且明确了...
我们可以需要将数据库中,同一内容的文档保留一个,而删除多余的文档。本程序即提供此功能。 准备: ·视图:ViewName,处理在此视图中的文档 ·表单域:FieldName,判断文档此域是否存在相同内容,如果相同则视为...
以下是俺学习参考别人有关NOTES与关系数据库互相操作的文档后更新的LOTUSSCRIPT程序代码 Set con=New ODBCConnection Set qry=New ODBCQuery Set rs=New ODBCResultSet Set qry.Connection = con Set rs.Query=...
访问现有的对象最好使用 LotusScript,例如:根据其他文档的值来更改一个文档中的值。LotusScript 提供了一些公式没有的功能,例如:操作数据库存取控制列表 (ACL) 的能力。 写script关键是取对象,查看对象的...
23 3.5 公式在代理中的应用 24 3.6 公式的其他用途 25 3.6.1 通过公式访问用户环境 25 3.6.2 访问当前数据库和视图 25 3.6.3 通过公式访问当前文档 26 3.6.4 访问当前数据库之外的数据 27 3.7 LotusScript编程简介 ...
1. 首先,在配置或管理数据库中建立有关数据库的文档。 2. 建立 Script 库,例如 “RefrshDesign”,并在其中声明需要使用的 API 函数。 3. 在 Script 库中编写代码,使用 API 函数来调用 Lotus Domino 的功能,并...
常用的Lotusscript用法 1.检测当前用户是不是文档的创建者,如果不是,不允许编辑文档。 Sub Querymodechange(Source As ...\",0,\"文档数据库\" continue=False End If End If End Sub …………………………
Lotus Notes常用LotusScript代码 示例: 1.检测当前用户是不是文档的创建者,如果不是,不允许编辑文档。 Sub Querymodechange(Source As ...\",0,\"文档数据库\" continue=False End If End If End Sub
LotusScript 是完全面向对象的编程语言... 访问现有的对象最好使用 LotusScript,例如:根据其他文档的值来更改一个文档中的值。LotusScript 提供了一些公式没有的功能,例如:操作数据库存取控制列表 (ACL) 的能力。
18. 后台lotusscript如何取得前台表单中复选框所选择的项目列表(b/s结构) 15 19. 试图的列公式:附件下载 15 20. 有没有好一点的分页处理代码 16 21. 同一用户重复登录 18 22. Return to sender 19 23. Agent to ...
18. 后台lotusscript如何取得前台表单中复选框所选择的项目列表(b/s结构) 15 19. 试图的列公式:附件下载 15 20. 有没有好一点的分页处理代码 16 21. 同一用户重复登录 18 22. Return to sender 19 23. Agent to ...
18. 后台lotusscript如何取得前台表单中复选框所选择的项目列表(b/s结构) 15 19. 试图的列公式:附件下载 15 20. 有没有好一点的分页处理代码 16 21. 同一用户重复登录 18 22. Return to sender 19 23. Agent to ...
18. 后台lotusscript如何取得前台表单中复选框所选择的项目列表(b/s结构) 15 19. 试图的列公式:附件下载 15 20. 有没有好一点的分页处理代码 16 21. 同一用户重复登录 18 22. Return to sender 19 ...