Visual Basic - Ivan: validar textbox

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Ivan: validar textbox

Publicado por anonymous (171 intervenciones) el 26/05/2006 00:24:18
Hola amigo, soy yo otra vez:
Te recuerdo: no podía descontar de existencias en la BD 2, 3, etc, solo 1 ó 10 unidades.
lo solucioné con tu sugerencia de poner VAL(text2.text)

Productos '''''''''' llamo a la base de datos
Rs.MoveFirst
Do While Not Rs.EOF
If Rs!nombre = nombprod Then '''' me posiciono en el producto deseado
Exit Do
End If
Rs.MoveNext
Loop
Select Case Val(Text2.Text) '''' aqui comienzo a validar el text2
'Case "" '''' aqui no funciona, dice que no coinciden los tipos
' MsgBox "No has ingresado la cantidad", vbCritical, "CANTIDAD"
' Text2.SetFocus
' Exit Sub
Case Is > Rs!existencias '''' valido que haya existencia suficiente, aqui tenia problem
MsgBox "Las existencias no soportan la cantidad solicitada, hay " & Rs!existencias, vbCritical, "NO HAY SUFICIENTE"
Text2.SetFocus
Exit Sub
Case Is <= 0 '''' valido que no sea cero ni menor el pedimento
MsgBox "La cantidad no puede ser cero ni menor", vbCritical, "OPERACION NO PERMITIDA"
Text2.Text = ""
Text2.SetFocus
Exit Sub
End Select
cod = Rs!codigo ''''' Rs es la tabla de mi BD
cant = Text2
totalproducto = 0
MSFlexGrid1.TextMatrix(num, 2) = Text2.Text '''''pongo en la grilla la cantidad
totalproducto = Round(Rs!precio_venta * Text2.Text, 2)
MSFlexGrid1.TextMatrix(num, 5) = totalproducto
total = Round(total + totalproducto, 2)
''''DESCONTAR DEL INVENTARIO LA CANTIDAD DE PRODUCTO'''
Rs.Edit
Rs!existencias = Rs!existencias - Text2.Text
Rs.Update

Creo que no hay diferencia entre Rs!existencias y Rs("existencias") parece que da el mismo resultado. Ahora en el caso de que no se haya ingresado nada en la cantidad solicitada, qué código debo poner si me dice que con VAL no coindicen los tipos?
Esa es mi nueva duda amigo, si me puedes ayudar te agradecería muchísimo.
Saludos. Paco
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ivan: validar textbox

Publicado por ivan (1039 intervenciones) el 26/05/2006 00:33:26
En qué parte del tu código te marca eso...?? (no coinciden los tipos)

Veo que haces esto

Rs!existencias = Rs!existencias - Text2.Text

Aqui considero que debieras hacer
Rs!existencias = Rs!existencias - Val(Text2.Text )

O si no, al principio haz esto
cant=0
cant=Val(Text2.Text)

Asi, en caso de que Text2 tenga algo que no sea número, la variable CANT será de 0, no recuerdo qué devuelve VAL en caso de que no sea un número, acuérdate que la variable CANT debe ser del mismo tipo que el campo EXISTENCIAS.

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Valido en Select case

Publicado por anonymous (171 intervenciones) el 26/05/2006 01:20:53
Oye ivan:
en el Gotfocus del Text2 lanzo un select case después de abrir la BD y en cada case compruebo:
1. Que la caja tenga algún número
2. que el número sea menor o igual a las existencias en mi BD.
3. que ese número no sea 0 ni menor.
Entonces el error de que no coidicen los tipos es en:
Select case VAL(text2.text)
case is "" o sea, que si la caja no tiene nada, aqui es donde me dices que ponga la variable cant = 0?
Voy a probar y enseguida te comento.
Espero no importunarte tanto eh?
Gracias mi amigo. Paco
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

!Lo encontré! Iván

Publicado por anonymous (171 intervenciones) el 26/05/2006 01:27:24
Amigo gracias por tu sugerencia, creo que me diste el tip correcto nuevamente.
mi código quedó así y funciona bien:

cant = 0
cant = Val(Text2.Text)
Select Case cant
Case ""
MsgBox "No has ingresado la cantidad", vbCritical, "CANTIDAD"
Text2.SetFocus
Exit Sub
Case Is > Rs!existencias
MsgBox "Las existencias no soportan la cantidad solicitada, hay " & Rs!existencias, vbCritical, "NO HAY SUFICIENTE"
MsgBox "Estoy pidiendo " & Text2.Text
Text2.SetFocus
Exit Sub
Case Is <= 0
MsgBox "La cantidad no puede ser cero ni menor", vbCritical, "OPERACION NO PERMITIDA"
Text2.Text = ""
Text2.SetFocus
Exit Sub
End Select
cod = Rs!codigo
cant = Text2
totalproducto = 0
MSFlexGrid1.TextMatrix(num, 2) = Text2.Text
totalproducto = Round(Rs!precio_venta * Text2.Text, 2)
MSFlexGrid1.TextMatrix(num, 5) = totalproducto
total = Round(total + totalproducto, 2)
''''DESCONTAR DEL INVENTARIO LA CANTIDAD DE PRODUCTO'''
Rs.Edit
Rs!existencias = Rs!existencias - Text2.Text
Rs.Update
MsgBox "Tengo ahora : " & Rs!existencias

Gracias nuevamente y Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:!Lo encontré! Iván

Publicado por ivan (1039 intervenciones) el 26/05/2006 01:51:50
que bien que te haya funcionado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar