Scrutinizing Controls on Form for Certain Value

S

scantor145

Excel 2003 w/Visual Basic 6.3

I have a form with several types of controls; labels, command buttons
check boxes and text boxes.

The text boxes take user input in the form of numbers.
All text boxes have names of the form "txtNAME".

e.g. txtBUN, txtTRIG, txtAST, etc.

The user might then assign a number to certain text boxes.

e.g. txtBUN = 7, txtTRIG = 15 , txtAST = 21, etc.

What I would like to do is query the form to check if any of thes
numbers match a value that is derived previously, then procee
accordingly.

What I have below DOES NOT work and I can't figure out a way around it
I think it has to do with TextBox.Value which I'm not sure is viable.
Any suggestions?


Code
-------------------
Dim TextBox As Control

For Each TextBox In frmReagInv.Controls
If Left(TextBox.Name, 3) = "txt" Then
If TextBox.Value = Z Then
ChemName(K) = Mid(TextBox.Name, 4)
End If
End If
Next TextBo
 
B

Bob Phillips

Dim ctl As Control

For Each ctl In Me.Controls
If TypeName(ctl) = "TextBox" Then
If ctl.Value = Z Then
ChemName(K) = Mid(ctl.Name, 4)
End If
End If
Next ctl
 
S

scantor145

I tried your suggestion as well as the following:


Code
-------------------
Dim ctl As Control

For Each ctl In frmReagInv.Controls
If TypeOf ctl Is TextBox Then
If Left(ctl.Name, 3) = "txt" Then
If ctl.Text = "Z" Then
ChemName(K) = Mid$(ctl.Name, 4)
End If
End If
End If
Next ct
-------------------


For some reason, which is bothering the hell out of me, the control
aren't recognized as TextBoxes. That is, when the program encounter
the line


Code
-------------------
If TypeOf ctl Is TextBox The
-------------------


it then precedes to jump to the last End If statement, although i
encounters a control, a textbox with a name such as "txtAmyl"
Any clues
 
B

Bob Phillips

Put a Debug.Print Typename(ctl), ctl.Name

in the code and see what it thinks it is
 

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