Jack,
1. A text box is the same as a number box, which is also the same as a currency box. They're all the same type of control (a Text Box !). Other types of controls are List Box, Combo Box, Check Box, etc...
To test if the type of control in a form is a text box you can use
If ctlFld.ControlType = acTextBox Then
...
End If
If your NewItem is bound to a field in a table then you can't change the data type in vba. If it is unbound then you may be able to change the Format of the the field quite easily:
Me.NewItem.Format = "Currency"
Me.NewItem.Format = "General Number"
Me.NewItem.Format = ""
2. To test for the contents of a Text Box you can use the following functions:
IsNumeric - tests for numeric values
IsNull - tests for Null values
IsEmpty - tests for Emty values
IsDate - tests for Date values
To test whether the text box contains currency (IsNumeric = True) you can use InStr(1, txtField.Text, "$", vbTextCompare).
The only way I know how to test if a text box contains text is to say: "If it is not a Number, Date or Empty (Null) then it must be text!"
Does that help?