summing text boxes but do't include disabled ones??

R

Rachel

Hi again,
I have a command button (cmdsubtotal) which adds 8 text boxes. I got the
following code from a post a few weeks ago and it works perfectly - thank you!

Private Sub cmdsubtotal_Click()

Dim MyTotal As Double
MyTotal = 0
If IsNumeric(Trim(Me.txtprice1.Value)) Then
MyTotal = MyTotal + Trim(Me.txtprice1.Value)
End If
If IsNumeric(Trim(Me.txtprice2.Value)) Then
MyTotal = MyTotal + Trim(Me.txtprice2.Value)
End If
If IsNumeric(Trim(Me.txtprice3.Value)) Then
MyTotal = MyTotal + Trim(Me.txtprice3.Value)
End If
If IsNumeric(Trim(Me.txtprice4.Value)) Then
MyTotal = MyTotal + Trim(Me.txtprice4.Value)
End If
If IsNumeric(Trim(Me.txtprice5.Value)) Then
MyTotal = MyTotal + Trim(Me.txtprice5.Value)
End If
If IsNumeric(Trim(Me.txtprice6.Value)) Then
MyTotal = MyTotal + Trim(Me.txtprice6.Value)
End If
If IsNumeric(Trim(Me.txtprice7.Value)) Then
MyTotal = MyTotal + Trim(Me.txtprice7.Value)
End If
If IsNumeric(Trim(Me.txtprice8.Value)) Then
MyTotal = MyTotal + Trim(Me.txtprice8.Value)
End If

Me.txtSubTotal.Value = MyTotal

End Sub

No I have added some check boxes which disable the corresponding text box
when ticked.
How can I adjust the code above to NOT include the text box value if it has
been disabled?

Thanks in advance :)
 
F

FSt1

hi
i think all you would have to do is add another if to test if the check box
is checked.
Private Sub cmdsubtotal_Click()

Dim MyTotal As Double
MyTotal = 0
If Me.checkbox1.value = true then ' it's checked
If IsNumeric(Trim(Me.txtprice1.Value)) Then
MyTotal = MyTotal + Trim(Me.txtprice1.Value)
End If
End If
'etc. etc.
'work your way down the text/check boxes.
end sub

untested but if the check box value is false, it should skip the rest of the
clause.
try it. post back if it don't work.

regards
FSt1
 
J

john

Rachel,
see if this does what you want:

Private Sub cmdsubtotal_Click()
Dim Ctl As Control
Dim i As Integer
Dim MyTotal As Double

MyTotal = 0

For i = 1 To 8

Set Ctl = Me.Controls("txtprice" & i)

If IsNumeric(Trim(Ctl.Value)) Then

With Ctl

If .Enabled = True Then

MyTotal = _
MyTotal + Trim(Me.Controls("txtprice" & i).Value)

Else

Me.Controls("txtprice" & i).Text = 0

End If

End With

Else

Me.Controls("txtprice" & i).Text = ""

End If

Next i

Me.txtSubTotal.Value = MyTotal

End Sub
 
R

Rachel

John - spot on as always!! thank you.
I really appreciate you taking the time to answer all my questions. I never
would be able to work these things out myself!!
 
J

john

Hi Rachel,
you are most welcome & thanks for your feedback.
Just in case you have not seen it, I updated your lookup function post.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top