Duda con TextBox!!!

Daniel
14 de Febrero del 2005
Hola programadores, se me ha presentado un problema ya que poseo un textbox el cual esta codificado para que el usuario al escribir en él un número me detecte automaticamente el nombre del estado al que pertenece ese número (código) . Por ejemplo si coloca "1" me pondria el estado "Dtto Capital" pero si coloco "10" es "Guarico". Ahora bien tengo el problema que si se coloca 19 el cual no pertenece a ningun estado me sigue mostrando Guarico. Como puedo hacer en este caso para que me tome el número exacto ya que he intentado con el "val" y nada pero de igual forma no puedo. El código que tengo actualmente es el siguiente:

Private Sub TXTcodedo_Change()
If TXTcodedo <> "" Then
Set OFICI = DATA.OpenRecordset("Select distinct CODEDO, ESTADO from OFICINAS where CODEDO = " & TXTcodedo.Text & "")
If OFICI.RecordCount > 0 Then
OFICI.MoveFirst
Do While Not OFICI.EOF
TXTestado.Text = OFICI!estado
OFICI.MoveNext
Loop
End If
Else
TXTestado = ""
End If
End Sub

Intente colocar algo asi:
If TXTcodedo.MaxLength = Len(TXTcodedo.Text) Then
Pero no me sirve porque se guinda la aplicación y tampoco le vi mucho sentido... Agradeceria muchisimo de tu ayuda

aijuna
14 de Febrero del 2005
lo que sucede es que no tenes que usar el evento "change" del TXTcodedo, tenes que usar el evento Keypress

O sea, corta todo el dogido que escribiste y ponelo asi

Private Sub TXTcodedo_KeyPress(KeyAscii As Integer)
if keyascii = 13 '(equivale al codigo del Enter) then
If TXTcodedo <> "" Then
Set OFICI = DATA.OpenRecordset("Select distinct CODEDO, ESTADO from OFICINAS where CODEDO = " & TXTcodedo.Text & "")
If OFICI.RecordCount > 0 Then
OFICI.MoveFirst
Do While Not OFICI.EOF
TXTestado.Text = OFICI!estado
OFICI.MoveNext
Loop
End If
Else
TXTestado = ""
End If
End If
End Sub

Asi tendria que andar