Visual Basic - Hola Ivan: Inexplicable

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

Hola Ivan: Inexplicable

Publicado por anonymous (171 intervenciones) el 24/05/2006 01:26:19
Iván:
Puse una duda ayer sobre que no puedo descontar existencias de mi campo cuando recién he alimentado la BD, por ej: en ALTAS doy 100 dulces y voy a vender y quiero descontar 3, 6, 8, etc y me dice que las existencias no soportan la cantidad solicitada, hasta que introduzco descontar ya sea 1 producto o 10 hasta entonces ya puedo descontar la siguiente vez todos los que quiera.
te comento que mi campo de la BD EXISTENCIAS es double porquepuedo trabajar con decimales, o sea si quiero vender kilos sí puedo descontar 1.5, 2.8 kg del producto, que la mayoría va a ser por unidades, pero en el mismo foro me sugirieron que cambiara mi campo de LONG a DOUBLE
Private Sub Text2_LostFocus()
Productos
Rs.MoveFirst
Do While Not Rs.EOF
If Rs!nombre = nombprod Then
Exit Do
End If
Rs.MoveNext
Loop
Select Case Text2.Text
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 '' ESTA LÍNEA ES SOLO PARA VERIFICAR
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
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:Hola Ivan: Inexplicable

Publicado por ivan (1039 intervenciones) el 24/05/2006 02:17:00
y... qué duda tienes....??
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

esta duda

Publicado por anonymous (171 intervenciones) el 25/05/2006 01:15:10
Pues que inexplicablemente al dar de alta por ejemplo 100 dulces, ya sea de manera manual o por medio de mi programa en altas, y al ir a vender cienrta cantidad de esos dulces por ejemplo 2, 3, 4 etc., me dice el error de que la cantidad no soportan las existencias, o sea que tengo 100 recien dados de alta y quiero vender 3 no me permite descontar esa cantidad.
Pero si quiero 1 ó 10 no hay problema, descuenta perfectamente.
No sé a qué se deba ese prob, sé que para tí es fácil y haber si me expliqué.
p.d. mi campo de la BD es de tipo double.
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:esta duda

Publicado por ivan (1039 intervenciones) el 25/05/2006 02:05:09
En la parte de código que pones supongo que la variable LS es el valor numérico de Text2.Text

Ahora para descontar lo que tienes en en el campo EXISTENCIAS considero yo que iría así.:

Rs("existencias") = Rs("existencias") - Val(Text2.Text)
Rs.Update

No se la diferencia entre usar Rs!existencias y usar Rs("existencias")

En el Select Case de Text2, veo que validas primero, si Text2.Text está vacío, luego validas que Text2.Text no sea mayor que EXISTENCIAS, luego validas que no sea un 0, supongo que te hace falta la opción correcta, la que ya descuente de existencias lo vendido, la cual pudieras poner después del Case o poner un Case Else.

Prueba lo que te dije, cuando ejecutes tu aplicación prueba con el F8 para que se vaya corriendo línea por línea, pon un punto de revisión antes de que grabes, asegúrate que el valor que se lea en Rs!Existencias sea realmente el que deba tener.

Es probable que se pierda el valor del campo EXISTENCIAS al momento de queres actualizar ese registro, porque si dices que si descuentas 1 o 10 te funciona bien, y si descuentas 2, 3 o 4 te sale error....

Prueba eso que te propongo o pon el código de cuando grabas.

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

RE:esta duda

Publicado por Juan (93 intervenciones) el 25/05/2006 17:10:46
Si descuentas 200 que pasa? Me suena que es puede ser un problema de casteo. Una vez hice un reporte que por diferencias de formatos (. y , para separadores en parte decimales y miles) me multiplicaba todo por cien
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