文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>LotusScript中数据库文档操作

LotusScript中数据库文档操作

时间:2010-09-20  来源:pstn2008

一、表单

表单事件
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   

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载