2011-03-02 147 views
0

我想正确的莲花脚本的按钮单击事件,点击弹出一个关键字列表的工作人员选择和放置在superior1领域......我不知道要给予的参数。 ..请帮助我... ...我跟着下面的脚本,它没有工作......它是在一个空的对话框列表中显示......:(...或者提供一个替代公式或sumthin来解决这个问题... THX很多...按钮点击事件 - 莲花脚本

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 

THX很多斯托伊奇& mbonaci ... :)我与pickliststrings wrked了,我已经有了笏我想即显示superior1列表按组列分类的关键字... 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 

现在,在选择列表中的任何关键字...例如:“执行”shud被放置在当前文档/窗体的字段“Superior1”... wazz脚本为此.. 。plz帮助我...

回答

1

按照规定,应该PickListStrings导致错误,因为在第七的位置缺少参数 - prompt$help for PickListStrings)和Notes不希望在这种情况下,数字(4 )作为论点。

除此之外:

  • 您是否尝试过打开(在“主\ ASEAN_Staff.nsf”“x_asean_search”)的目标视图,并从现场Superior1(你与测试值)来使得输入字符串肯定有这样的类别?如果焦点存在于视图中,焦点应该转移到该类别。
  • 尝试在状态栏中打印Sup1$以确保它包含期望值。
  • 视图的第四列是哪一个,你想返回哪个值?

不造成一个问题,但好要牢记:

  • Dim view,view1 As NotesView声明Variant类型的变量viewNotesViewview1。把它们放在不同的线路上以避免出现意外行为的可能性。例如,这里的语句If (view is Nothing) Then将导致“类型不匹配”错误。
  • 来自If Superior1= "" Then的变量Superior1似乎是一个值为EMPTY的变体,因此条件始终为真。使用Option Declare是一个很好的做法,可以防止编译。
+0

@mbonaci是正确的,建议使用一个公式作为一个更简洁的解决方案。我的理解是,@SarahXP想要将目标视图的选择限制在与当前打开的文档的“Superior1”字段中的值相对应的类别下。例如:@DbLookup(“ReCache”; @Subset(@DbName; 1):“Master \\ ASEAN_Staff.nsf”;“x_asean_search”; Superior1; 4)'和在对话框中使用结果列表。 – Hristo 2011-03-02 21:30:01

+0

@SarahXP - 另外,如果您选择坚持使用LotusScript,请尝试从“Master \\ ASEAN_Staff.nsf”中删除一个反斜杠 - 我认为您只需要一个。 – Hristo 2011-03-02 21:34:20

+0

嗯...我有解决方案让选定的关键字字段“Superior1”...任何人都可以帮助我... ...我想比较2字段“办公室”和“字段”的组合视图的列“OfficeGroup”...例如:字段值A和列“AB”的字段B值... hw是否连接两个字段..?我更喜欢使用LOTUS SCRIPT而不是公式为此plz ... thx ... – SarahXP 2011-03-03 10:36:28

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

+0

thx Hristo&mbonaci ...我已经剔除了pickliststrings,并且我已经得到了我想要的wat ...即显示要选择的superior1关键字列表。我已经使用foll脚本: – SarahXP 2011-03-03 09:14:09

+0

嗯...我已经有了将选定关键字移到“Superior1”字段的解决方案......任何人都可以帮助我...我想比较两个字段的组合“办公室”&“字段”与视图的列“OfficeGroup”...例如:字段与列“AB”的值和字段B值... hw我是否连接两个字段..?我更喜欢LOTUS SCRIPT而不是这个PLZ ...公式 – SarahXP 2011-03-03 10:36:52