无法从VBA属性中减去值

时间:2015-05-15 19:35:11

标签: vba access-vba

我有以下代码,如果日期值高于15,我试图从.5对象中减去text53,但我不断收到错误"Invalid Use of property"错误

Private Sub Report_Load()
    Dim Maxdate As Integer, LValue As Integer, LValue2 As Integer
    Dim Mvalue As Integer, Dvalue As Date, RateVal As Integer

    LValue2 = 0.5
    RateVal = Me.Text31.Value * Me.Text27.Value
    Dvalue = Me.Text43
    Mvalue = DateDiff("m", Me.Text41, Me.Text43)

    If Format(Dvalue, "DD") >= 15 Then Me.Text53 - LValue2

    Me.Text53 = Mvalue
    Me.Text51 = Me.Text53 * RateVal
End Sub

1 个答案:

答案 0 :(得分:1)

试试这个:

Private Sub Report_Load()

Dim Maxdate As Integer
Dim LValue As Integer  
Dim LValue2 As Single
Dim Mvalue As Integer
Dim Dvalue As Date
Dim RateVal As Integer

LValue2 = 0.5
RateVal = Me.Text31.Value * Me.Text27.Value
Dvalue = Me.Text43
Mvalue = DateDiff("m", Me.Text41, Me.Text43)
Me.Text53 = Mvalue

If Format(Dvalue, "DD") >= 15 Then 
  Me.Text53 = Me.Text53 - LValue2
End If
Me.Text51 = Me.Text53 * RateVal

End Sub

我认为你的主要问题是:Me.Text53 - LValue2

您需要将该值分配给某些内容。它本身只会产生错误。将该行更改为 Me.Text53 = Me.Text53 - LValue2 Me.Text53 = Mvalue - LValue2 符合条款。

其他注意事项:您不能将十进制数分配给整数数据类型,它会将其四舍五入为整数。此外,将Mvalue分配给Text53需要在条件减法0.5之前进行,否则该部分将被覆盖。