First of all thanks for taking a look, this is a class assignment and I'm about a month in and seeing as how it's fast approaching 3am I dont think my professor is going to want to get a call.

That being said, I'm trying to write a basic program that will take a weight and distance and calculate from it a total shipping charge. I'm having several problems with it but first and foremost I need to get the calculation itself working correctly (formatting for currency I assume will be solved as a byproduct but has been removed from the below code due to runtime errors created by its presence). The net result of what is happening is while as far as I can tell the coding is set up correctly the only result I can get is "0", so clearly I've gone wrong somewhere. Here is the coding for the click event to calculate the cost.

Private Sub btnCalculate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCalculate.Click

'Declaration of and definition of variables
Dim weight As Single
Dim distance As Single
Dim charges As Decimal
txtWeight.Text = weight
txtDistance.Text = distance

'Returns error if distance is greater then 3000 miles
'or less then 10 miles or if weight is less then 0 kg
'or greater then 20 kg
'Also includes Formulas and declaration of values

If distance < 10 Then lblChargeResult.Text = " Please enter valid weight and distance "
If distance > 3000 Then lblChargeResult.Text = " Please enter valid weight and distance "

If weight < 0 Then
lblChargeResult.Text = " Please enter valid weight and distance "
ElseIf weight > 0 Then
charges = 0.01
ElseIf weight > 2 Then
charges = 0.015
ElseIf weight > 6 Then
charges = 0.02
ElseIf weight > 10 Then
charges = 0.025
ElseIf weight > 20 Then
lblChargeResult.Text = " Please enter valid weight and distance "
End If

'Displays Charge Result
lblChargeResult.Text = Val(charges * distance)
End Sub

If anyone can point out my error and/or tell me how to correct it I would appreciate it.