2012-03-05 7 views
0

ダイアログボックスのフォームにアイテム、その数量、価格、通貨およびリストを追加するための[追加]ボタンがあります。フォームに通貨フィールドがあります。それは多くの通貨を持つドロップダウンリストです。商品の追加時に通貨を同じにする必要があります。通貨の変更がある場合は、メッセージボックスが表示されます。以下は、ボタン追加イベントのコードの一部です。 "cur"は通貨フィールドです。ロータスノートでフィールド内の別のエントリを特定する方法

Sub Click(Source As Button) 
    'On Error Goto errhandle 
    Dim work As New notesuiworkspace 
    Dim uidoc As notesuidocument 
    Dim doc As notesdocument 
    Dim item As String, weight As String 
    Dim qty As String, price As String 
    Dim sbtotal As String 
    Dim gtotal As String 

    Set uidoc = work.currentdocument 
    Set doc =uidoc.Document 

    item = uidoc.FieldGetText("Item") 
    qty = uidoc.FieldGetText("Qty") 
    price = uidoc.FieldGetText("Price") 
    cur = uidoc.FieldGetText("cur") 
    sbtotal= uidoc.FieldGetText("SubTotal") 

    Call uidoc.Refresh 

    'weight = uidoc.FieldGetText("W_Qty") 
    'adj = uidoc.fieldGetText("Adj") 
    remark = uidoc.FieldGetText("Remarks") 
    If item = "" Or qty = "" Or price = "" Then 
     Msgbox "Please complete the data entry ", 16, "Error - Incomplete Data Entry" 
     Exit Sub 
    End If 
     recordNo = uidoc.fieldgettext("ww") 

    If recordNo = "" Then 
     recordNumber = 0 
    Else 
     pos = Instr(recordNo,";") 
     If pos > 0 Then 
      number = Right(recordNo , pos -1) 
     Else 
      number = Left(recordNo , pos +1) 
     End If 
     recordNumber = Cint(number) 
    End If  


    recordNumber = recordNumber + 1 
    'to append text 
    Call uidoc.FieldAppendText("no" ,";" & Cstr(recordNumber))  
    Call uidoc.FieldAppendText("Item1" ,";" & item) 
    Call uidoc.FieldAppendText("Q1" , ";" & Cstr(qty)) 
    Call uidoc.FieldAppendText("amt" , ";" & Cdbl(price)) 
    Call uidoc.FieldAppendText("C1" , ";" & Cstr(cur)) 
    Call uidoc.FieldAppendText("TSubTotal" , ";" & Cdbl(sbtotal)) 


    'clear entering data 
    uidoc.FieldClear("Remarks") 
    uidoc.FieldClear("Item") 
    uidoc.FieldClear("Qty")  
    uidoc.FieldClear("Price") 
    'uidoc.FieldClear("W_Qty")   
    Call uidoc.FieldSetText("SubTotal","0.00") 
    uidoc.refresh 




    Dim subtotal As Double 
    subtotal = 0 
    Forall stotal In doc.TSubTotal 
     If stotal <> "" Then 
      subtotal = subtotal + Cdbl(stotal) 
     End If 
    End Forall 
    total = subtotal '+ Cdbl(curdoc.SubTotal(0)) 
    Call uidoc.FieldSetText("GrandTotal",Format(total,"#,##0.00")) 
    uidoc.refresh 
    uidoc.gotofield"Item" 
End Sub 

私を助けてください。ありがとう。

答えて

1

selectedCurrencyという新しい隠しフィールドを作成します。このフィールドの初期値は空でなければなりません。

[追加]ボタンのコードでは、まずselectedCurrencyをチェックする必要があります。空白の場合は、それをcurに等しく設定する必要があります。

また、[追加]ボタンのコードでは、selectedCurrencyとcurを比較する必要があり、それらが等しくない場合はメッセージボックスを表示する必要があります。

1

[追加]ボタンのコードの外に通貨を修正し、[追加]を開始する前に通貨を修正します。