2011-03-02 149 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