`
happy100583
  • 浏览: 122557 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

LotusScript中数据库文档操作

阅读更多

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中数据库文档操作[定义].pdf

    LotusScript开发.ppt

    分四个部分,都只是与lotusscript相关的。 1,用LotusScript访问修改数据库,包含lotusscript基础 2,用户界面操作 3,创建和修改文档 4,使用On Error敘述追踪 runtime错误

    lotus domino邮件从一个数据库复制到另一个数据库

    lotus domino邮件从一个数据库复制到另一个数据库

    如何使用LotusScript操作Domino设计元素

    Property Get()Property Get viewDocuments 在Domino的数据库中,有数据文档和设计文档两种文档。设计文档包括单,视图,代理等,这些 组成了一个数据库设计。标准Notes类库能够很容易的访问数据文档,但却没有提供...

    LotusNotes访问关系数据库的方法

    通过 Notes 里内嵌的公式或 Script 语言,可在 Notes 文档中引入非 Notes 数据库信息,把现成的数据转换成 Notes 数据库。Notes 提供以下方法来存取外部数据: 1. 在 Notes 公式里利用 @Db 函数 Notes 提供 @...

    lotus domino 表单文档相关--文档ID

    Lotus Domino 中的文档可以具有唯一的标识符,即文档 ID,这个 ID 是一个独特的字符串,用于标识文档在数据库中的唯一性。 在 Lotus Domino 中,文档 ID 是一个非常重要的概念,它可以用于标识文档、检索文档、甚至...

    数据库、视图、表单或域事件的 Script 运行在用户的工作站上

    这些事件可以被用于处理数据库、视图、表单或域中的各种操作。 处理数据库的过程 在处理数据库的过程中,会发生多种事件,例如: * Initialize:Script 库被初始化时发生。 * Postopen:视图被打开时发生。 * ...

    lotus domino附件开发--附件批量放到一个文档

    该标题表明了本文的主题是 Lotus Domino 附件开发,特别是将多个附件批量放到一个文档中。 描述解释 Lotus Domino 附件开发 -- 附件批量放到一个文档 描述中强调了 Lotus Domino 附件开发的重要性,并且明确了...

    删除多余文档

    我们可以需要将数据库中,同一内容的文档保留一个,而删除多余的文档。本程序即提供此功能。 准备: ·视图:ViewName,处理在此视图中的文档 ·表单域:FieldName,判断文档此域是否存在相同内容,如果相同则视为...

    lotus利用ODBC类操作SQL数据库代码--已通过

    以下是俺学习参考别人有关NOTES与关系数据库互相操作的文档后更新的LOTUSSCRIPT程序代码 Set con=New ODBCConnection Set qry=New ODBCQuery Set rs=New ODBCResultSet Set qry.Connection = con Set rs.Query=...

    Lotus script技巧

     访问现有的对象最好使用 LotusScript,例如:根据其他文档的值来更改一个文档中的值。LotusScript 提供了一些公式没有的功能,例如:操作数据库存取控制列表 (ACL) 的能力。  写script关键是取对象,查看对象的...

    Lotus-Domino-程序设计.doc

    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编程简介 ...

    lotus domino 批量更新模板

    1. 首先,在配置或管理数据库中建立有关数据库的文档。 2. 建立 Script 库,例如 “RefrshDesign”,并在其中声明需要使用的 API 函数。 3. 在 Script 库中编写代码,使用 API 函数来调用 Lotus Domino 的功能,并...

    LousScript

    常用的Lotusscript用法 1.检测当前用户是不是文档的创建者,如果不是,不允许编辑文档。 Sub Querymodechange(Source As ...\",0,\"文档数据库\" continue=False End If End If End Sub …………………………

    Lotus Notes常用代码

    Lotus Notes常用LotusScript代码 示例: 1.检测当前用户是不是文档的创建者,如果不是,不允许编辑文档。 Sub Querymodechange(Source As ...\",0,\"文档数据库\" continue=False End If End If End Sub

    Lotus 公式

    LotusScript 是完全面向对象的编程语言... 访问现有的对象最好使用 LotusScript,例如:根据其他文档的值来更改一个文档中的值。LotusScript 提供了一些公式没有的功能,例如:操作数据库存取控制列表 (ACL) 的能力。

    LotusDomino学习笔记.doc

    18. 后台lotusscript如何取得前台表单中复选框所选择的项目列表(b/s结构) 15 19. 试图的列公式:附件下载 15 20. 有没有好一点的分页处理代码 16 21. 同一用户重复登录 18 22. Return to sender 19 23. Agent to ...

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

    18. 后台lotusscript如何取得前台表单中复选框所选择的项目列表(b/s结构) 15 19. 试图的列公式:附件下载 15 20. 有没有好一点的分页处理代码 16 21. 同一用户重复登录 18 22. Return to sender 19 23. Agent to ...

    Lotus Domino WEB 开发技术积累-DOC(313页)

    18. 后台lotusscript如何取得前台表单中复选框所选择的项目列表(b/s结构) 15 19. 试图的列公式:附件下载 15 20. 有没有好一点的分页处理代码 16 21. 同一用户重复登录 18 22. Return to sender 19 23. Agent to ...

    Lotus Domino WEB详细 学习笔记

    18. 后台lotusscript如何取得前台表单中复选框所选择的项目列表(b/s结构) 15 19. 试图的列公式:附件下载 15 20. 有没有好一点的分页处理代码 16 21. 同一用户重复登录 18 22. Return to sender 19 ...

Global site tag (gtag.js) - Google Analytics