如何确定莲花笔记中字段中的不同条目

时间:2012-03-05 08:16:01

标签: lotus-notes lotus-domino

我在对话框表单中有一个添加按钮,可在下面的字段中添加项目,数量,价格,货币和列表。表单中有一个货币字段。它是一个包含许多货币的下拉列表。添加商品时货币应相同。如果有货币更改,则应显示消息框。下面是添加按钮事件代码的一部分。 “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

请帮帮我。感谢。

2 个答案:

答案 0 :(得分:1)

我会在“添加”按钮的代码之外修复货币,并且在启动“添加”之前也需要它。

答案 1 :(得分:1)

创建一个名为selectedCurrency的新隐藏字段。该字段的初始值应为空。

在“添加”按钮代码中,您需要首先检查selectedCurrency,如果它是空白,则应将其设置为cur。

然后,同样在Add按钮的代码中,您需要比较selectedCurrency和cur,如果它们不相等,您应该显示您的消息框。