0

我想要适当的按钮单击事件的莲花脚本,单击时会弹出一个员工关键字列表以选择并放置在superior1字段上......我不确定要给出的参数......请帮助我...... .我按照下面的脚本,它没有工作......它显示在一个空的对话框列表......:(......或者为我提供一个替代公式或sumthin来解决这个问题......谢谢很多......

Sub Click(Source As Button)
    Dim session As New notessession
    Dim view,view1 As NotesView 
    Dim doc,doc1 As notesdocument
    Dim db As Notesdatabase
    Set db=session.CurrentDatabase 

    Dim Overdb As notesdatabase

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

    Dim workspace As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim picklist As Variant
    Set uidoc = workspace.CurrentDocument

    If Superior1= "" Then

        Sup1$ = uidoc.FieldGetText("Superior1")

        picklist = workspace.PickListStrings( PICKLIST_CUSTOM,_
        False,_
        db.server,_
        "Master\\ASEAN_Staff.nsf",_
        "x_asean_search",_
        "Select Name",_
        4,_
        Sup1$ ) 


    End If

End Sub

非常感谢 Hristo 和 mbonaci ...:) 我已经使用 pickliststrings 解决了问题,并且我已经得到了我想要的 wat,即显示按组列分类的 super1 关键字列表... foll 是我使用的脚本。 ..

Sub Click(Source As Button)
Dim session As New notessession
Dim view As NotesView 
Dim view1  As notesview
Dim doc,doc1 As notesdocument
Dim db As Notesdatabase
Set db=session.CurrentDatabase 

Dim Overdb As notesdatabase

Set Overdb=session.GetDatabase(gsserver, gspath + "Master\\ASEAN_Staff.nsf")

Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim picklist As Variant
Set uidoc = workspace.CurrentDocument

If Superior1= "" Then

    'Sup1 = uidoc.FieldGetText("Superior1")

    'Ofc = uidoc.FieldGetText("Office")
    Gp = uidoc.FieldGetText("Group")
    'og = doc.Office + doc.Group


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



End If

End Sub

现在,在从列表中选择任何关键字时...例如:“Executive”应该放在当前文档/表单的“Superior1”字段中... wazz 这个脚本...请帮助我...

4

2 回答 2

1

如所写,PickListStrings应该会导致错误,因为在第七个位置缺少一个参数 - prompt$PickListStrings 的帮助)并且 Notes 不期望数字(在这种情况下为 4)作为参数。

除此之外:

  • 您是否尝试过打开目标视图(“Master\ASEAN_Staff.nsf”中的“x_asean_search”)并从字段Superior1(您测试的值)中输入字符串以确保存在此类?如果视图中存在该类别,则焦点应移至该类别。
  • 尝试在状态栏中打印Sup1$以确保它包含预期值。
  • 视图的第四列是您要返回的值吗?

不会造成问题,但请记住:

  • Dim view,view1 As NotesViewview声明typeVariantview1type 的变量NotesView。将它们放在不同的行上以避免出现意外行为的可能性。例如,这里的语句If (view is Nothing) Then将导致“类型不匹配”错误。
  • 变量Superior1fromIf Superior1= "" Then似乎是值为 EMPTY 的变量,因此条件始终为真。使用Option Declare是一种很好的做法,可以防止编译。
于 2011-03-02T04:28:46.223 回答
0

为什么不简单地使用带有@DbColumn 公式的对话框列表字段作为选择(字段属性的第二个选项卡):

@DbColumn( class : cache ; server : database ; view ; columnNumber )

例子:

@DbColumn( "ReCache"; ""; "x_asean_search"; 4 )

将从当前数据库的“x_asean_search”视图的第四列返回所有值。

此处的详细信息:http: //publib.boulder.ibm.com/infocenter/domhelp/v8r0/topic/com.ibm.designer.domino.main.doc/H_DBCOLUMN_NOTES_DATABASES.html

于 2011-03-02T12:35:10.300 回答