2011-03-07 20 views
0

ビューのドキュメントの選択リストを表示するフォームにボタンがあります...選択したドキュメントを選択リストから「スーペリア1」フィールドに設定できません。 .. plzは第一文書がに設定されます..私は間違ってanywhrだ場合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 

...次は、クリックイベントスクリプト..です私を助けてフィールド "Superior1" ...選択したwatevaがフィールドに設定されていません。

答えて

0

PickListStringから返されるときのpicklistは文字列の配列です。 GetDocumentByKeyの値を使用するには、picklist(0)を使用して最初のエントリを取得します。

0

あなたは、カテゴリに選択リスト]ダイアログボックス内の文書を制限するために、最後のPickListStringsパラメータを使用している場合は、あなたも、あるカテゴリを(表示されていないことから、あなたは、最後のparamに2番目としてを指定することはありませんが最初の列)をダブルクリックします。
代わりに、最初に表示される列を使用するにはを使用してください。

また、この目的でGetdocumentByKeyを使用する場合は、2番目のパラメータを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を使用していますか?

0

mbonaciの答えに1つの小さな追加 - ユーザーが「キャンセル」を押すと、ダイアログにはEMPTYが返されます。この場合、picklist(0)にアクセスしようとするとエラーになります。これを考慮に入れて、IsEmpty(picklist)かどうかをチェックし、真ならば適切なことをしてください(Exit Subなど)。

+0

ありがとうございました... mbonaci ... cwaidner ... Hristo ...最終的には... !! :) – SarahXP

+0

@mbonaci - 右。私はコードがIsEmpty()チェックに欠けていたのと同じ主題について、[Sarahの他の質問](http://stackoverflow.com/questions/5162450/button-click-event-lotus-script)に答えました。ここにコードに気付いていないのは、そのチェックが既にあるからです。 – Hristo