¿que pasa?

24/07/2006 - 20:43 por vm_tapia | Informe spam
Tengo un formulario con TextBox que son los siguientes:

El primero es C1 Cantidad
El segundo es PU1 Precio Unitario
El tercero es I1 Importe

(el numero 1 es porque tengo 32 partidas por factura)

Al ejecutar el formulario pasa lo siguiente:

1.- capturo la cantidad: 123 (ejemplo)
2.- capturo el importe: 123456 (ejemplo)

al momento de actualizar (AfterUpdate) el Precio Unitario y/o la Cantidad

1.- pasa la Cantidad a una celda de hoja de calculo
ThisWorkbook.Worksheets("Factura").Range("a14").Value Val(AltaFacturas.C1.Value)

2.- pasa el Precio Unitario a una celda de hoja de calculo
ThisWorkbook.Worksheets("Factura").Range("x14").Value =
Val(AltaFacturas.PU1.Value)
y toma ese valor de la celda y lo "Formatea" como numero ( 123,456.00 )
AltaFacturas.PU1.Value =
FormatNumber(ThisWorkbook.Worksheets("Factura").Range("x14").Value)

3.- actualiza el Importe ( I1) calculado la hoja
AltaFacturas.I1.Value =
FormatNumber(ThisWorkbook.Worksheets("Factura").Range("ac14").Value)

4.- actualiza los totales en formulario con una rutina llamada "Totales"

hasta aqui no hay problema, pero al hacer pruebas de funcionamiento
si se captura un importe de millares (como el ejemplo), y paso a la
partida 2 ( C2, PU2, I2 ) capturo la informacion pertinente y regreso a la
partida 1 (con el tabulador) al pasar por el cuadro de Precio Unitario (PU1)
el importe que tenia ( 123,456.00 ) lo cambia a 123.00 o a 12.00 si el valor
era 12,345.00 o a 1.00 si el valor era 1,234.00 esto sin haberlo cambiado
yo mismo para que se ejecute el evento AfterUpdate

¿como puedo arreglar esto?

NOTA: si utilizo en evento "Change" hace los calculos y cambios en totales
al momento de estar tecleando la Cantidad y/o el Precio Unitario y esto
no lo requiero.

Preguntas similare

Leer las respuestas

#1 Abraham
24/07/2006 - 20:50 | Informe spam
Pues a mi me da la impresion que el problema seria la configuracion
regional, pues por los ejemplos que das, la la coma te la toma como
separador de decimales y no el punto como me parece que tu deseas.

Abraham
Respuesta Responder a este mensaje
#2 vm_tapia
24/07/2006 - 22:22 | Informe spam
Abraham:

ya revise la configuracion regional y el simbolo de separador de miles es la
"coma" no creo que el problema sea por ahi.

lo que sucede es que esta aplicando un cambio de una cantidad a otra, sin
embargo YO NO LO ESTOY HACIENDO de forma manual. el formulario lo esta
haciendo arbitrariamente.

se supone que si el cuadro de texto tiene una cantidad ya "formateda" ejemplo:

123,456.00

no debe haber cambios por el simple hecho de "pasar" por ella con el
tabulador o el enter

cuando yo recapturo otra cantidad, ejemplo 654321 y doy enter, se ejecuta el
evento AfterUpdate, tomando ese valor y lo formatea como numero,
presentandolo de la siguiente manera:

654,321.00

y esto si sucede bien, sin embargo si hago un recorrido con el tabulador por
los TextBox ese valor en especial lo cambia a 654.00. ESTE ES EL PROBLEMA.

de todas formas gracias por tu pronta respuesta.





"Abraham" wrote:

Pues a mi me da la impresion que el problema seria la configuracion
regional, pues por los ejemplos que das, la la coma te la toma como
separador de decimales y no el punto como me parece que tu deseas.

Abraham


Respuesta Responder a este mensaje
#3 vm_tapia
25/07/2006 - 00:13 | Informe spam
Ya lo resolvi con el siguiente codigo:

=Private Sub PU1_AfterUpdate()
Precio = CDbl(AltaFacturas.PU1.Value)
AltaFacturas.PU1.Value = ClearContents
ThisWorkbook.Worksheets("Factura").Range("x14").Value = Precio
AltaFacturas.PU1.Value = FormatNumber(Precio)
AltaFacturas.I1.Value =
FormatNumber(ThisWorkbook.Worksheets("Factura").Range("ac14").Value)
Totales
End Sub
=

"Abraham" wrote:

Pues a mi me da la impresion que el problema seria la configuracion
regional, pues por los ejemplos que das, la la coma te la toma como
separador de decimales y no el punto como me parece que tu deseas.

Abraham


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida