按钮事件字段设置问题 - Lotus脚本

时间:2011-03-07 10:06:42

标签: lotusscript

我有一个表单中的按钮,它带有一个视图文档的选项列表...我的问题是无法将选定列表中的选定文档设置为字段“Superior1”.. plz帮助我..关注是点击事件脚本...

Sub Click(Source As Button)
    Dim session As New notessession
    Dim view As NotesView 
    Dim view1  As notesview
    Dim doc As notesdocument
    Dim db As Notesdatabase
    Dim Overdb As notesdatabase
    Dim og As String
    Dim Sup As String

Set db=session.CurrentDatabase 
Set Overdb=session.GetDatabase(gsserver, "Master\\ASEAN_Staff.nsf")

Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim picklist As Variant

Set uidoc = workspace.CurrentDocument

og = uidoc.FieldGetText("OfficeGroup_Key")

picklist = workspace.PickListStrings( PICKLIST_CUSTOM,_
False,_
gsserver,_
"Master\\ASEAN_Staff.nsf",_
"x_asean_superior1",_
"Select Name",_
"Choose",_
1,_
og ) 


If Isempty(picklist) Then
    Exit Sub            
Else

    Set view = Overdb.GetView("x_asean_Superior1") 
    Set doc = view.GetdocumentByKey(picklist, False) 

    Sup=doc.ColumnValues(1)

    Call uidoc.FieldSetText("Superior1", Sup)


End If

End Sub

Plz纠正我,如果我错了任何...从选择列表中选择一个文件..第一个文件被设置到“Superior1”字段...我选择的wateva没有在现场设置...

3 个答案:

答案 0 :(得分:0)

从PickListStrings返回的

选项列表是一个字符串数组。要在GetDocumentByKey中使用它的值,请使用picklist(0)来获取第一个条目。

答案 1 :(得分:0)

当您使用上一个PickListStrings参数将选择列表对话框中的文档限制为某个类别时,您永远不会指定 1 作为倒数第二个参数,因为您没有甚至可以在对话框中看到类别(这是第一列) 相反,要使用第一个可见列 2

此外,在为此目的使用GetdocumentByKey时,请将第二个参数设置为True(您需要完全匹配的文档,而不是模糊搜索)。

有一点我不明白,如果你只是想

  

将选定文件从选项列表设置为“Superior1”字段

为什么不直接从PickListStrings传输值。只需在PickListStrings中指定列(在对话框中可见)编号,如下所示:

...
picklist = workspace.PickListStrings( PICKLIST_CUSTOM,_
False,_
gsserver,_
"Master\\ASEAN_Staff.nsf",_
"x_asean_superior1",_
"Select Name",_
"Choose",_
2,_
og ) 

Call uidoc.FieldSetText("Superior1", picklist(0))

我不明白你为什么要使用PickListStrings获取任何(查看列)值时进行查找以获取相同的文档?

答案 2 :(得分:0)

mbonaci答案的一小部分补充 - 请注意,如果用户按下“取消”,对话框将返回EMPTY变体。在这种情况下,尝试访问picklist(0)会导致错误。要考虑到这一点,请检查IsEmpty(picklist)是否为True,做适当的(Exit Sub等)。

相关问题