计算的文本框不计算单价是否设置为货币格式

时间:2019-07-11 00:16:54

标签: ms-access access-vba

简单计算,总价格=数量*单价

不计算何时将单价显示为货币。

从AfterUpdate事件中的组合框中检索单价,如下所示:

Private Sub cboItemRequested_AfterUpdate()
'  0        1        2    3   4           5       6
' ITEM    Category SIZE   UI PRICE   NSN_ORDER   UNIT_PACK

With Me
    .txtDescrOfItemRequested = .cboItemRequested
    .txtUI = .cboItemRequested.Column(3)
    .txtQTY = 1
    .txtUnitPrice = Format(.cboItemRequested.Column(4), "Currency")
    .txtPartNumNSN = .cboItemRequested.Column(5)


End With


End Sub

即使组合框在第4列中正确显示了货币,但除非我应用Format(XXXXX,“ Currency”),否则它不会正确地填充单价txtbox。顺便说一句,文本框也被格式化为货币。但是,当我确实使美元符号出现时,最终计算的TotalPrice仍为零。

我什至将以下内容应用于txtTotalPrice

=Val(Nz([txtQTY],0))*Val(Nz([txtUnitPrice],0))

我应该改变什么?

1 个答案:

答案 0 :(得分:1)

解决方案: 我需要使用VBA格式化txtUnitPrice

.txtUnitPrice = Format(.cboItemRequested.Column(4), "Currency")

是的,由于某种原因,格式化为货币的txtBoxPrice只是忽略了它。

但是,为了使TotalPrice正确显示出来,必须在末尾重新计算它。这是我得到的第一个提示。谢谢krish KM