Autor
|
Tema: Problema con KeyPress de un text (Leído 4,495 veces)
|
jdc
|
Hola, estoy haclendo un sistema pequeño y quiero validar a travez de enter. Les dejo el codigo: Private Sub Text3_KeyPress(KeyAscii As Integer) If KeyAscii = "13" Then If (Text3.Text) <> "" Then If IsNumeric(Text3.Text) Then Set R = BD.OpenRecordset("usuario", dbOpenTable) R.Index = "us" R.Seek "=", (Text3.Text) If Not R.NoMatch Then Text4.Text = R("pass") 'Text4.Enabled = True 'Command2.Enabled = True Else MsgBox ("Lo siento, No existe") Text3.Text = "" End If End If End If End If End Sub
El codigo deberia hacer que al presionar el enter despues de escribir el usuario mostrara el pass en otro text (text4 en este caso) pero no me toma el evento KeyPress, alguien ve algun error? Si alguien lo quiere probar les dejo el codigo modificado ya que en el anterior tengo cargada una base de datos en el form. Saludos y gracias
|
|
|
En línea
|
|
|
|
Karcrack
Desconectado
Mensajes: 2.416
Se siente observado ¬¬'
|
Fallo1: KeyAscii -> Integer ; "13" -> String 'Fallo2': No puedo comprobarlo, pero creo que seria mejor envez de IsNumeric() que utilizaras Val() Solución:Private Sub Text3_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If (Text3.Text) <> "" Then If Val(Text3.Text) > 0 Then 'Teniendo en cuenta que el Text3 no permite numeros negativos... Set R = BD.OpenRecordset("usuario", dbOpenTable) R.Index = "us" R.Seek "=", Val(Text3.Text) If Not R.NoMatch Then Text4.Text = R("pass") 'Text4.Enabled = True 'Command2.Enabled = True Else MsgBox ("Lo siento, No existe") Text3.Text = "" End If End If End If End If End Sub
Recuerda trabajar bien con el tipo de variable, cuando sean numero usa Val()
|
|
|
En línea
|
|
|
|
jdc
|
Gracias Karcrack... El error era que estaba pensando en numeros cuando de verdad necesito una palabra (nombre de usuario "user" en la base de datos). por lo que trataba de comprobar una palabra como numero... Lo que pasa es que primero lo iba a hacer con codigos numericos pero cambie por texto. Osea: Private Sub Text3_KeyPress(KeyAscii As Integer) If KeyAscii = "13" Then If (Text3.Text) <> "" Then 'If IsNumeric(Text3.Text) Then Esta comprobacion sobra! Set R = BD.OpenRecordset("usuario", dbOpenTable) R.Index = "us" R.Seek "=", (Text3.Text) If Not R.NoMatch Then Text4.Text = R("pass") 'Text4.Enabled = True 'Command2.Enabled = True Else MsgBox ("Lo siento, No existe") Text3.Text = "" End If 'End If Esto tambien End If End If End Sub
Quitando eso el codigo ya hace lo que quiero, que es evaluar el nombre de usuario y tirar la contraseña asociada a un text para posteriormente hacer una comprobacion con el boton de ingresar... Por ejemplo el pass queda en text4 por lo que si quiero comparar con text5 en el boton seria: If (Text4.Text = Text5.Text) Then Haz esto... Else Esto otro End If
Muchas gracias
|
|
|
En línea
|
|
|
|
cassiani
Desconectado
Mensajes: 978
« Anterior | Próximo »
|
'Fallo2': No puedo comprobarlo, pero creo que seria mejor envez de IsNumeric() que utilizaras Val() Recuerda trabajar bien con el tipo de variable, cuando sean numero usa Val() eso no lo entendi..
|
|
|
En línea
|
|
|
|
seba123neo
|
Hola, estoy haclendo un sistema pequeño y quiero validar a travez de enter. Les dejo el codigo: Private Sub Text3_KeyPress(KeyAscii As Integer) If KeyAscii = "13" Then If (Text3.Text) <> "" Then If IsNumeric(Text3.Text) Then Set R = BD.OpenRecordset("usuario", dbOpenTable) R.Index = "us" R.Seek "=", (Text3.Text) If Not R.NoMatch Then Text4.Text = R("pass") 'Text4.Enabled = True 'Command2.Enabled = True Else MsgBox ("Lo siento, No existe") Text3.Text = "" End If End If End If End If End Sub
El codigo deberia hacer que al presionar el enter despues de escribir el usuario mostrara el pass en otro text (text4 en este caso) pero no me toma el evento KeyPress, alguien ve algun error? Si alguien lo quiere probar les dejo el codigo modificado ya que en el anterior tengo cargada una base de datos en el form. Saludos y gracias algunas cosas que veo... 1 - si preguntas si es numerico , ni hace falta preguntar si es <> "" 2 - podes validar para que el textbox solo acepte numero y te olvidas de Val() y de la validacion anterior. 3 - usar DAO hoy en dia es como comparar la playstation 3 con la NES. saludos.
|
|
« Última modificación: 17 Julio 2009, 01:44 am por seba123neo »
|
En línea
|
|
|
|
jdc
|
algunas cosas que veo...
1 - si preguntas si es numerico , ni hace falta preguntar si es <> ""
Ok gracias lo tendre presente... 2 - podes validar para que el textbox solo acepte numero y te olvidas de Val() y de la validacion anterior.
Necesito que acepte letras y numeros 3 - usar DAO hoy en dia es como comparar la playstation 3 con la NES.
Dejame aprender bien esto y me pongo con ADO que igual me interesa aprenderlo, usar access es como usar atari, pero se me hizo interesante aprender tambien Gracias por los consejos
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
problema con rict text box
.NET (C#, VB.NET, ASP)
|
Zeroql
|
3
|
2,711
|
17 Marzo 2011, 18:36 pm
por SRVAM
|
|
|
[C#]Problema con el evento Keypress.
« 1 2 »
.NET (C#, VB.NET, ASP)
|
Bernabe_22
|
16
|
17,614
|
26 Mayo 2016, 02:36 am
por litronix
|
|
|
Problema con el value de un text
Desarrollo Web
|
z3nth10n
|
3
|
2,248
|
6 Julio 2012, 19:21 pm
por z3nth10n
|
|
|
problema con eventos keypress en c#
Dudas Generales
|
makorro
|
3
|
2,873
|
21 Octubre 2013, 21:12 pm
por Eleкtro
|
|
|
Problema al modificar sección .text
« 1 2 3 »
Programación C/C++
|
Vaagish
|
23
|
10,290
|
17 Octubre 2014, 21:13 pm
por Eternal Idol
|
|