Results 1 to 3 of 3

Thread: VB - Error Checking On My Form

  1. #1

    Thread Starter
    Frenzied Member agmorgan's Avatar
    Join Date
    Dec 2000
    Location
    Lurking
    Posts
    1,383

    VB - Error Checking On My Form

    Im having a rough day and turned out this piece of crap.
    Basically its quite repetitive.
    Anyone fancy coding it better for me?

    Please bear in mind that I will be modifying it later to VBScript.
    e.g. For the drop down list boxes
    Code:
    .Text wil become .value
    Unless you want to do the conversion as well?
    How generous are you feeling?

    I have attached the form, because it is too long to paste the code.
    Attached Files Attached Files

  2. #2
    Frenzied Member Jmacp's Avatar
    Join Date
    Jul 2003
    Location
    UK
    Posts
    1,959
    VB Code:
    1. Option Explicit
    2. Option Base 1
    3.  
    4. Private Sub Command1_Click()
    5. Call Testing
    6. End Sub
    7. 'Function SetupFrm3_onSubmit()
    8. Function Testing() As Variant
    9. Dim ANAmin As Double
    10. Dim ANAmax As Double
    11.  
    12.         'AgM 10-07-2002
    13.         ANAmin = CDbl(0.045)
    14.         ANAmax = CDbl(26.5)
    15.  
    16. Dim dblFreqs() As Double
    17.  
    18.  
    19. ReDim dblFreqs(3, 1)
    20.     If Not (IsNumeric(fsta1)) Or Not (IsNumeric(fsto1)) Or Not (IsNumeric(fste1)) Then
    21.    
    22.     '            SetupFrm3_onSubmit = False
    23.     '            alert "You must enter numeric values"
    24.         MsgBox "You must enter numeric values"
    25.         Exit Function
    26.     End If
    27.         dblFreqs(1, 1) = setupfrm3.fsta1.Text
    28.         dblFreqs(2, 1) = setupfrm3.fsto1.Text
    29.         dblFreqs(3, 1) = setupfrm3.fste1.Text
    30.  
    31. If CInt(setupfrm3.cboFreq.Text) > 1 Then
    32.     If Not (IsNumeric(fsta2)) Or Not (IsNumeric(fsto2)) Or Not (IsNumeric(fste2)) Then
    33.    
    34.     '            SetupFrm3_onSubmit = False
    35.     '            alert "You must enter numeric values"
    36.         MsgBox "You must enter numeric values"
    37.         Exit Function
    38.     End If
    39.     ReDim Preserve dblFreqs(3, 2)
    40.         dblFreqs(1, 2) = setupfrm3.fsta2.Text
    41.         dblFreqs(2, 2) = setupfrm3.fsto2.Text
    42.         dblFreqs(3, 2) = setupfrm3.fste2.Text
    43.  
    44. End If
    45. If CInt(setupfrm3.cboFreq.Text) > 2 Then
    46.     If Not (IsNumeric(fsta3)) Or Not (IsNumeric(fsto3)) Or Not (IsNumeric(fste3)) Then
    47.    
    48.     '            SetupFrm3_onSubmit = False
    49.     '            alert "You must enter numeric values"
    50.         MsgBox "You must enter numeric values"
    51.         Exit Function
    52.     End If
    53.     ReDim Preserve dblFreqs(3, 3)
    54.         dblFreqs(1, 3) = setupfrm3.fsta3.Text
    55.         dblFreqs(2, 3) = setupfrm3.fsto3.Text
    56.         dblFreqs(3, 3) = setupfrm3.fste3.Text
    57.  
    58. End If
    59.  
    60.        
    61.  
    62.  
    63.  
    64.        
    65.        
    66. Dim stafreq As Double
    67. Dim stofreq As Double
    68.  
    69.         stafreq = CDbl(0.04)
    70.         stofreq = CDbl(18)
    71.  
    72.         If dblFreqs(1, 1) < stafreq Or dblFreqs(1, 1) > stofreq Then
    73. '            SetupFrm3_onSubmit = False
    74. '            alert "You have entered an invalid start frequency of " + fsta + " GHz"
    75.             MsgBox "You have entered an invalid start frequency of " + fsta1 + " GHz"
    76.             setupfrm3.fsta1.Text = stafreq
    77.             Exit Function
    78.         ElseIf dblFreqs(2, 1) < stafreq Or dblFreqs(2, 1) > stofreq Then
    79. '            SetupFrm3_onSubmit = False
    80. '            alert "You have entered an invalid stop frequency of " + fsto + " GHz"
    81.             MsgBox "You have entered an invalid stop frequency of " + fsto1 + " GHz"
    82.             setupfrm3.fsto1.Text = stofreq
    83.             Exit Function
    84.         ElseIf dblFreqs(2, 1) < dblFreqs(1, 1) Then
    85. '            SetupFrm3_onSubmit = False
    86. '            alert "You have entered an invalid frequency range"
    87.             MsgBox "You have entered an invalid frequency range"
    88.             setupfrm3.fsta1.Text = stafreq
    89.             setupfrm3.fsto1.Text = stofreq
    90.             Exit Function
    91.  
    92.         End If
    93.  
    94.         'Check frequencies dont conflict with ANA range AgM 10-07-2002
    95.  
    96.         If dblFreqs(1, 1) < ANAmin Or dblFreqs(1, 1) > ANAmax Then
    97. '            SetupFrm3_onSubmit = False
    98. '            alert "You have entered a start frequency outside the range of the ANA"
    99.             MsgBox "You have entered a start frequency outside the range of the ANA"
    100.             setupfrm3.fsta1.Text = stafreq
    101.             Exit Function
    102.         ElseIf dblFreqs(2, 1) > ANAmax Or dblFreqs(2, 1) < ANAmin Then
    103. '            SetupFrm3_onSubmit = False
    104. '            alert "You have entered a stop frequency outside the range of the ANA"
    105.             MsgBox "You have entered a stop frequency outside the range of the ANA"
    106.             setupfrm3.fsto1.Text = stofreq
    107.             Exit Function
    108.  
    109.         End If
    110.  
    111.         'Check for valid step intervals
    112.  
    113.         If dblFreqs(1, 1) = dblFreqs(2, 1) And dblFreqs(3, 1) <> 0 Then
    114. '            alert "Start and Stop frequencies identical" + Chr(13) + Chr(10) + "Step size set to 0.0 GHz, please check."
    115.             MsgBox "Start and Stop frequencies identical" + Chr(13) + Chr(10) + "Step size set to 0.0 GHz, please check."
    116.             setupfrm3.fste1.Text = 0#
    117. '            SetupFrm3_onSubmit = False
    118.             Exit Function
    119.         ElseIf dblFreqs(1, 1) <> dblFreqs(2, 1) And dblFreqs(3, 1) = 0 Then
    120. '            alert "You have entered an invalid step size."
    121.             MsgBox "You have entered an invalid step size."
    122.             setupfrm3.fste1.Text = "##.##"
    123. '            SetupFrm3_onSubmit = False
    124.             Exit Function
    125.         ElseIf dblFreqs(1, 1) = dblFreqs(2, 1) And dblFreqs(3, 1) = 0 Then
    126. '            SetupFrm3_onSubmit = True
    127.             Exit Function
    128.         End If
    129.        
    130. Dim newstop As Double
    131.         newstop = CDbl(CStr(CInt((dblFreqs(2, 1) - dblFreqs(1, 1)) / dblFreqs(3, 1)) * dblFreqs(3, 1) + dblFreqs(1, 1)))
    132.         If newstop <> dblFreqs(2, 1) Then
    133.             setupfrm3.fsto1.Text = newstop
    134. '            alert "Step size did not divide frequency range equally." + Chr(13) + Chr(10) + "Stop frequency changed, please check"
    135.             MsgBox "Step size did not divide frequency range equally." + Chr(13) + Chr(10) + "Stop frequency changed, please check"
    136. '            SetupFrm3_onSubmit = False
    137.             Exit Function
    138.         End If
    139.        
    140.        
    141.        
    142. 'Frequency 2
    143.          If dblFreqs(1, 2) < stafreq Or dblFreqs(1, 2) > stofreq Then
    144. '            SetupFrm3_onSubmit = False
    145. '            alert "You have entered an invalid start frequency of " + fsta + " GHz"
    146.             MsgBox "You have entered an invalid start frequency of " + fsta1 + " GHz"
    147.             setupfrm3.fsta2.Text = stafreq
    148.             Exit Function
    149.         ElseIf dblFreqs(2, 2) < stafreq Or dblFreqs(2, 2) > stofreq Then
    150. '            SetupFrm3_onSubmit = False
    151. '            alert "You have entered an invalid stop frequency of " + fsto + " GHz"
    152.             MsgBox "You have entered an invalid stop frequency of " + fsto1 + " GHz"
    153.             setupfrm3.fsto2.Text = stofreq
    154.             Exit Function
    155.         ElseIf dblFreqs(2, 2) < dblFreqs(1, 2) Then
    156. '            SetupFrm3_onSubmit = False
    157. '            alert "You have entered an invalid frequency range"
    158.             MsgBox "You have entered an invalid frequency range"
    159.             setupfrm3.fsta2.Text = stafreq
    160.             setupfrm3.fsto2.Text = stofreq
    161.             Exit Function
    162.  
    163.         End If
    164.  
    165.         'Check frequencies dont conflict with ANA range AgM 10-07-2002
    166.  
    167.         If dblFreqs(1, 2) < ANAmin Or dblFreqs(1, 2) > ANAmax Then
    168. '            SetupFrm3_onSubmit = False
    169. '            alert "You have entered a start frequency outside the range of the ANA"
    170.             MsgBox "You have entered a start frequency outside the range of the ANA"
    171.             setupfrm3.fsta2.Text = stafreq
    172.             Exit Function
    173.         ElseIf dblFreqs(2, 2) > ANAmax Or dblFreqs(2, 2) < ANAmin Then
    174. '            SetupFrm3_onSubmit = False
    175. '            alert "You have entered a stop frequency outside the range of the ANA"
    176.             MsgBox "You have entered a stop frequency outside the range of the ANA"
    177.             setupfrm3.fsto2.Text = stofreq
    178.             Exit Function
    179.  
    180.         End If
    181.  
    182.         'Check for valid step intervals
    183.  
    184.         If dblFreqs(1, 2) = dblFreqs(2, 2) And dblFreqs(3, 2) <> 0 Then
    185. '            alert "Start and Stop frequencies identical" + Chr(13) + Chr(10) + "Step size set to 0.0 GHz, please check."
    186.             MsgBox "Start and Stop frequencies identical" + Chr(13) + Chr(10) + "Step size set to 0.0 GHz, please check."
    187.             setupfrm3.fste2.Text = 0#
    188. '            SetupFrm3_onSubmit = False
    189.             Exit Function
    190.         ElseIf dblFreqs(1, 2) <> dblFreqs(2, 2) And dblFreqs(3, 2) = 0 Then
    191. '            alert "You have entered an invalid step size."
    192.             MsgBox "You have entered an invalid step size."
    193.             setupfrm3.fste2.Text = "##.##"
    194. '            SetupFrm3_onSubmit = False
    195.             Exit Function
    196.         ElseIf dblFreqs(1, 2) = dblFreqs(2, 2) And dblFreqs(3, 2) = 0 Then
    197. '            SetupFrm3_onSubmit = True
    198.             Exit Function
    199.         End If
    200.        
    201. 'Dim newstop As Double
    202.         newstop = CDbl(CStr(CInt((dblFreqs(2, 2) - dblFreqs(1, 2)) / dblFreqs(3, 2)) * dblFreqs(3, 2) + dblFreqs(1, 2)))
    203.         If newstop <> dblFreqs(2, 2) Then
    204.             setupfrm3.fsto2.Text = newstop
    205. '            alert "Step size did not divide frequency range equally." + Chr(13) + Chr(10) + "Stop frequency changed, please check"
    206.             MsgBox "Step size did not divide frequency range equally." + Chr(13) + Chr(10) + "Stop frequency changed, please check"
    207. '            SetupFrm3_onSubmit = False
    208.             Exit Function
    209.         End If
    210.        
    211.        
    212.        
    213. 'Frequency 3
    214.          If dblFreqs(1, 3) < stafreq Or dblFreqs(1, 3) > stofreq Then
    215. '            SetupFrm3_onSubmit = False
    216. '            alert "You have entered an invalid start frequency of " + fsta + " GHz"
    217.             MsgBox "You have entered an invalid start frequency of " + fsta1 + " GHz"
    218.             setupfrm3.fsta3.Text = stafreq
    219.             Exit Function
    220.         ElseIf dblFreqs(2, 3) < stafreq Or dblFreqs(2, 3) > stofreq Then
    221. '            SetupFrm3_onSubmit = False
    222. '            alert "You have entered an invalid stop frequency of " + fsto + " GHz"
    223.             MsgBox "You have entered an invalid stop frequency of " + fsto1 + " GHz"
    224.             setupfrm3.fsto3.Text = stofreq
    225.             Exit Function
    226.         ElseIf dblFreqs(2, 3) < dblFreqs(1, 3) Then
    227. '            SetupFrm3_onSubmit = False
    228. '            alert "You have entered an invalid frequency range"
    229.             MsgBox "You have entered an invalid frequency range"
    230.             setupfrm3.fsta3.Text = stafreq
    231.             setupfrm3.fsto3.Text = stofreq
    232.             Exit Function
    233.  
    234.         End If
    'Check frequencies dont conflict with ANA range AgM 10-07-2002

  3. #3
    Frenzied Member Jmacp's Avatar
    Join Date
    Jul 2003
    Location
    UK
    Posts
    1,959
    VB Code:
    1. 'Check frequencies dont conflict with ANA range AgM 10-07-2002
    2.  
    3.         If dblFreqs(1, 3) < ANAmin Or dblFreqs(1, 3) > ANAmax Then
    4. '            SetupFrm3_onSubmit = False
    5. '            alert "You have entered a start frequency outside the range of the ANA"
    6.             MsgBox "You have entered a start frequency outside the range of the ANA"
    7.             setupfrm3.fsta3.Text = stafreq
    8.             Exit Function
    9.         ElseIf dblFreqs(2, 3) > ANAmax Or dblFreqs(2, 3) < ANAmin Then
    10. '            SetupFrm3_onSubmit = False
    11. '            alert "You have entered a stop frequency outside the range of the ANA"
    12.             MsgBox "You have entered a stop frequency outside the range of the ANA"
    13.             setupfrm3.fsto3.Text = stofreq
    14.             Exit Function
    15.  
    16.         End If
    17.  
    18.         'Check for valid step intervals
    19.  
    20.         If dblFreqs(1, 3) = dblFreqs(2, 3) And dblFreqs(3, 3) <> 0 Then
    21. '            alert "Start and Stop frequencies identical" + Chr(13) + Chr(10) + "Step size set to 0.0 GHz, please check."
    22.             MsgBox "Start and Stop frequencies identical" + Chr(13) + Chr(10) + "Step size set to 0.0 GHz, please check."
    23.             setupfrm3.fste3.Text = 0#
    24. '            SetupFrm3_onSubmit = False
    25.             Exit Function
    26.         ElseIf dblFreqs(1, 3) <> dblFreqs(2, 3) And dblFreqs(3, 3) = 0 Then
    27. '            alert "You have entered an invalid step size."
    28.             MsgBox "You have entered an invalid step size."
    29.             setupfrm3.fste3.Text = "##.##"
    30. '            SetupFrm3_onSubmit = False
    31.             Exit Function
    32.         ElseIf dblFreqs(1, 3) = dblFreqs(2, 3) And dblFreqs(3, 3) = 0 Then
    33. '            SetupFrm3_onSubmit = True
    34.             Exit Function
    35.         End If
    36.        
    37. 'Dim newstop As Double
    38.         newstop = CDbl(CStr(CInt((dblFreqs(2, 3) - dblFreqs(1, 3)) / dblFreqs(3, 3)) * dblFreqs(3, 3) + dblFreqs(1, 3)))
    39.         If newstop <> dblFreqs(2, 3) Then
    40.             setupfrm3.fsto3.Text = newstop
    41. '            alert "Step size did not divide frequency range equally." + Chr(13) + Chr(10) + "Stop frequency changed, please check"
    42.             MsgBox "Step size did not divide frequency range equally." + Chr(13) + Chr(10) + "Stop frequency changed, please check"
    43. '            SetupFrm3_onSubmit = False
    44.             Exit Function
    45.         End If
    46.        
    47.        
    48.        
    49.        
    50.        
    51. Dim np As Double
    52. Dim npts As Integer
    53.  
    54.  
    55.         np = ((dblFreqs(2, 1) - dblFreqs(1, 1)) / dblFreqs(3, 1)) + ((dblFreqs(2, 2) - dblFreqs(1, 2)) / dblFreqs(3, 2)) + ((dblFreqs(2, 3) - dblFreqs(1, 3)) / dblFreqs(3, 3))
    56.         npts = CInt(np)
    57.  
    58.         If npts > 500 Then
    59. '            alert "Step size is too small." + vbCrLf + "Only 500 frequency points permitted in this version."
    60.             MsgBox "Too many points." + vbCrLf + "Only 500 frequency points permitted in this version."
    61.             setupfrm3.fste1.Text = "##.##"
    62.             setupfrm3.fste2.Text = "##.##"
    63.             setupfrm3.fste3.Text = "##.##"
    64. '            SetupFrm3_onSubmit = False
    65.             Exit Function
    66.         End If
    67.  
    68. End Function

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width