如何通过 Lotus Notes 创建调查
1个回答
展开全部
最佳实践:如何通过 Lotus Notes 创建调查
调查在我们的日常工作生活中,应用非常广泛。提起调查,大家可能第一感觉会想到很多在线的调查系统,例如 IBM Nitro、Adobe 在线调查、Google 在线调查等等。假如你经常发起这样或者那样的调查的话,你是不是经常为收不到调查结果而烦恼?大家从收到调查邮件时,到开始调查之前需要打开调查的链接,甚至还需要输入各种各样的用户名和密码,这势必影响调查的回复率和效果。假如你所调查的对象都是使用 Lotus Notes 客户端,那么相信你将从本篇文章中获益。本文将以一个实例来讲解如何通过 Lotus Notes 创建调查,如图 1 显示了一个调查邮件样例,被调查者接收到调查邮件之后,只需要打开邮件并完成调查,就可以点击提交或者关闭来提交调查或者关闭邮件。
图 1. 调查邮件样例
回页首
预备知识
由于调查表单的设计是在 Lotus Designer 中完成的,因此读者应了解基本的 Lotus Designer 知识,例如如何设计表单、如何设计视图。表单是用户创建文档所需要的、控制结构和格式的设计元素。通常情况下,一个数据库都会有至少一个表单。在表单上,我们可以添加各种各样的域。另外,我们还需要一个视图来显示不同的文档。大家可以通过参考资料来学习和了解 Lotus Designer。
回页首
设计调查表单
打开 Lotus Designer,在你的工作邮件数据库或者单独创建一个新的邮件数据库 ( 以 mail8x.ntf 为模板,假如您不是专业管理员,我们建议您单独创建一个新的数据库,这是因为有可能会损坏数据库,影响您的工作和使用 )。在设计元素列表中的 Forms 下,点击按钮下 创建一个新的表单 ( 我们命名为 Survey),如图 1 所示。
添加一个两行一列的表格。
在表格第一行中添加一个图像。
在表格第二行中以文本的形式添加调查的说明以及调查的问题,可以在表单对应位置直接输入文本内容。
对于每一个开放性问题,通常都需要有一个文本框或者 Rich Text 等域;对于选择性问题,通常需要复选框(checkbox)或者单选按钮(radio button)等域。示例中是为第一个问题添加了一个单选按钮域。
在表单的末尾添加一个隐藏域 ( 名字叫 submitted),用来表示表单是否已经被提交,其属性配置如图 2 所示。读者也可以通过在图 2 的 Formula 窗口中添加 Formula 语句 @True,并使能 “Hide paragraph if formula is true”。
图 2. 隐藏域属性配置
为表单添加一些动作 ( 通过拖拽表单右边的边界来打开动作属性窗口,如图 3 所示 ):提交和关闭。其中,需要为“提交”动作的 click 属性添加如代码清单 1 所示的代码,为“关闭”动作的 click 属性添加如代码清单 2 所示的代码。另外,设置动作提交的属性,如图 4 所示,当被调查者提交结果之后,提交按钮将隐藏,防止多次提交。
设置表单的 Postopen 属性,代码如代码清单 3。当被调查者打开调查邮件的时候,邮件应当是编辑状态。
图 3. 调查表单样例
图 4. “提交”按钮的属性
清单 1:动作“提交”的响应代码
Sub Click(Source As Button)
Dim w As NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set w = New NotesUIWorkspace
Set uidoc = w.CurrentDocument
Dim doc As NotesDocument
Set doc = uidoc.Document
‘设置标志:调查是否提交
Call doc.ReplaceItemValue("submitted", "true")
‘被调查者发给组织者邮件的主题
Call doc.ReplaceItemValue("Subject", "调查结果标题")
‘组织者邮箱
Call doc.ReplaceItemValue("SendTo", "被调查者的邮箱") ‘
Call doc.Save(True, True)
‘通过邮件形式发送调查结果
Call doc.Send(True)
Call uidoc.Save()
Call uidoc.Close()
Messagebox("真诚地感谢您的参与!")
End Sub
清单 2:动作“关闭”的响应代码
Sub Click(Source As Button)
Dim w As NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set w = New NotesUIWorkspace
Set uidoc = w.CurrentDocument
Call uidoc.Close()
End Sub
清单 3:表单 Postopen 代码
Sub Postopen(Source As Notesuidocument)
‘设置文档为编辑状态
Source.EditMode = True
End Sub
回页首
发送调查表单
在完成了调查表单的设计之后,接下来的就是如何把调查表单发送到被调查者的邮箱。创建文件夹 Survey,添加动作“发送调查”,代码如清单 4。
清单 4:发送按钮代码
Sub Click(Source As Button)
Dim doc As NotesDocument
Dim s As NotesSession
Dim db As NotesDatabase
Set s = New NotesSession
Set db = s.CurrentDatabase
Set doc = New NotesDocument( db )
‘被调查者邮箱,也可以是一个服务器上或者本地的组
Call doc.ReplaceItemValue("SendTo", "被调查者邮箱")
Call doc.ReplaceItemValue("Form", "Survey")
‘假如想在被调查者的邮箱中显示成一个其他人的邮箱,可以用这行语句设置,否则可以去掉
Call doc.ReplaceItemValue("Principal", "代理人邮箱")
Call doc.ReplaceItemValue("submitted", False)
Call doc.ReplaceItemValue("Importance", "1")
‘调查的主题
Call doc.ReplaceItemValue("Subject", "调查主题")
‘注意 Save 的参数,要设置为 True,表示表单会随着文档一起发送给被调查者,否则被调查者打开邮件将看到不正确的格式
Call doc.Save(True,True)
Call doc.Send(True)
Messagebox("调查成功发出!")
End Sub
在完成了上述的设计之后,您就可以发送调查给调查的对象(如图 5,点击发送调查,成功后弹出对话框 -“调查成功发出!”)并将以邮件的形式收到调查的结果。
图 5. 发送调查样例
回页首
统计调查结果
在本实例当中,组织者将收到被调查者的邮件。组织者可以通过统计邮件中的数据来统计结果。本实例准备把这部分留给读者来完成。
回页首
展望和小结
通过上面实例的介绍,大家应该能够很方便的制作出基于 Lotus Note 的调查表单以及发送指定的表单,相信大家也觉得有很多改进的地方来发起和统计调查,作者认为有以下几个地方可以改进:
可以通过程序来统计调查结果,这部分前文已经提到。
目前的设计是所有的调查结果都是以邮件的形式发送给发起者,读者可以通过改动清单 1 的代码让结果直接提交到某一指定的服务器上;或者在邮件数据中创建一个代理(Agent):每当新邮件的到来的时候,自动检查该邮件是否为调查结果的邮件,并将调查结果邮件复制到指定的数据库并删除邮件服务器上的邮件,这样也达到了转移调查结果邮件的功能。
可以开发一个简单的工具来设计调查的表单,使得设计表单的难度有所降低。
调查在我们的日常工作生活中,应用非常广泛。提起调查,大家可能第一感觉会想到很多在线的调查系统,例如 IBM Nitro、Adobe 在线调查、Google 在线调查等等。假如你经常发起这样或者那样的调查的话,你是不是经常为收不到调查结果而烦恼?大家从收到调查邮件时,到开始调查之前需要打开调查的链接,甚至还需要输入各种各样的用户名和密码,这势必影响调查的回复率和效果。假如你所调查的对象都是使用 Lotus Notes 客户端,那么相信你将从本篇文章中获益。本文将以一个实例来讲解如何通过 Lotus Notes 创建调查,如图 1 显示了一个调查邮件样例,被调查者接收到调查邮件之后,只需要打开邮件并完成调查,就可以点击提交或者关闭来提交调查或者关闭邮件。
图 1. 调查邮件样例
回页首
预备知识
由于调查表单的设计是在 Lotus Designer 中完成的,因此读者应了解基本的 Lotus Designer 知识,例如如何设计表单、如何设计视图。表单是用户创建文档所需要的、控制结构和格式的设计元素。通常情况下,一个数据库都会有至少一个表单。在表单上,我们可以添加各种各样的域。另外,我们还需要一个视图来显示不同的文档。大家可以通过参考资料来学习和了解 Lotus Designer。
回页首
设计调查表单
打开 Lotus Designer,在你的工作邮件数据库或者单独创建一个新的邮件数据库 ( 以 mail8x.ntf 为模板,假如您不是专业管理员,我们建议您单独创建一个新的数据库,这是因为有可能会损坏数据库,影响您的工作和使用 )。在设计元素列表中的 Forms 下,点击按钮下 创建一个新的表单 ( 我们命名为 Survey),如图 1 所示。
添加一个两行一列的表格。
在表格第一行中添加一个图像。
在表格第二行中以文本的形式添加调查的说明以及调查的问题,可以在表单对应位置直接输入文本内容。
对于每一个开放性问题,通常都需要有一个文本框或者 Rich Text 等域;对于选择性问题,通常需要复选框(checkbox)或者单选按钮(radio button)等域。示例中是为第一个问题添加了一个单选按钮域。
在表单的末尾添加一个隐藏域 ( 名字叫 submitted),用来表示表单是否已经被提交,其属性配置如图 2 所示。读者也可以通过在图 2 的 Formula 窗口中添加 Formula 语句 @True,并使能 “Hide paragraph if formula is true”。
图 2. 隐藏域属性配置
为表单添加一些动作 ( 通过拖拽表单右边的边界来打开动作属性窗口,如图 3 所示 ):提交和关闭。其中,需要为“提交”动作的 click 属性添加如代码清单 1 所示的代码,为“关闭”动作的 click 属性添加如代码清单 2 所示的代码。另外,设置动作提交的属性,如图 4 所示,当被调查者提交结果之后,提交按钮将隐藏,防止多次提交。
设置表单的 Postopen 属性,代码如代码清单 3。当被调查者打开调查邮件的时候,邮件应当是编辑状态。
图 3. 调查表单样例
图 4. “提交”按钮的属性
清单 1:动作“提交”的响应代码
Sub Click(Source As Button)
Dim w As NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set w = New NotesUIWorkspace
Set uidoc = w.CurrentDocument
Dim doc As NotesDocument
Set doc = uidoc.Document
‘设置标志:调查是否提交
Call doc.ReplaceItemValue("submitted", "true")
‘被调查者发给组织者邮件的主题
Call doc.ReplaceItemValue("Subject", "调查结果标题")
‘组织者邮箱
Call doc.ReplaceItemValue("SendTo", "被调查者的邮箱") ‘
Call doc.Save(True, True)
‘通过邮件形式发送调查结果
Call doc.Send(True)
Call uidoc.Save()
Call uidoc.Close()
Messagebox("真诚地感谢您的参与!")
End Sub
清单 2:动作“关闭”的响应代码
Sub Click(Source As Button)
Dim w As NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set w = New NotesUIWorkspace
Set uidoc = w.CurrentDocument
Call uidoc.Close()
End Sub
清单 3:表单 Postopen 代码
Sub Postopen(Source As Notesuidocument)
‘设置文档为编辑状态
Source.EditMode = True
End Sub
回页首
发送调查表单
在完成了调查表单的设计之后,接下来的就是如何把调查表单发送到被调查者的邮箱。创建文件夹 Survey,添加动作“发送调查”,代码如清单 4。
清单 4:发送按钮代码
Sub Click(Source As Button)
Dim doc As NotesDocument
Dim s As NotesSession
Dim db As NotesDatabase
Set s = New NotesSession
Set db = s.CurrentDatabase
Set doc = New NotesDocument( db )
‘被调查者邮箱,也可以是一个服务器上或者本地的组
Call doc.ReplaceItemValue("SendTo", "被调查者邮箱")
Call doc.ReplaceItemValue("Form", "Survey")
‘假如想在被调查者的邮箱中显示成一个其他人的邮箱,可以用这行语句设置,否则可以去掉
Call doc.ReplaceItemValue("Principal", "代理人邮箱")
Call doc.ReplaceItemValue("submitted", False)
Call doc.ReplaceItemValue("Importance", "1")
‘调查的主题
Call doc.ReplaceItemValue("Subject", "调查主题")
‘注意 Save 的参数,要设置为 True,表示表单会随着文档一起发送给被调查者,否则被调查者打开邮件将看到不正确的格式
Call doc.Save(True,True)
Call doc.Send(True)
Messagebox("调查成功发出!")
End Sub
在完成了上述的设计之后,您就可以发送调查给调查的对象(如图 5,点击发送调查,成功后弹出对话框 -“调查成功发出!”)并将以邮件的形式收到调查的结果。
图 5. 发送调查样例
回页首
统计调查结果
在本实例当中,组织者将收到被调查者的邮件。组织者可以通过统计邮件中的数据来统计结果。本实例准备把这部分留给读者来完成。
回页首
展望和小结
通过上面实例的介绍,大家应该能够很方便的制作出基于 Lotus Note 的调查表单以及发送指定的表单,相信大家也觉得有很多改进的地方来发起和统计调查,作者认为有以下几个地方可以改进:
可以通过程序来统计调查结果,这部分前文已经提到。
目前的设计是所有的调查结果都是以邮件的形式发送给发起者,读者可以通过改动清单 1 的代码让结果直接提交到某一指定的服务器上;或者在邮件数据中创建一个代理(Agent):每当新邮件的到来的时候,自动检查该邮件是否为调查结果的邮件,并将调查结果邮件复制到指定的数据库并删除邮件服务器上的邮件,这样也达到了转移调查结果邮件的功能。
可以开发一个简单的工具来设计调查的表单,使得设计表单的难度有所降低。
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询