Actualizar label con datos de un Grid

Buenos días mi estimado: Ahora tengo un problermín. Resulta que tengo una tabla que quiero poder actualizar desde un grid, entonces en el form que contiene la tabla, puse una etiqueta para que, al cambiar un valor en el grid se actualice el caption de la etiqueta, puse esto:

SUM porcent TO xpor
thisform.label1.Caption = STR(xpor,5,2)
thisform.Refresh

Pero me manda error "Se excedió el nivel máximo de anidamiento de DO"

En donde puedo colocar esas instrucciones para actualizar la etiqueta?

Muchas gracias.

Respuesta
1

Esperame un momento... te contestare luego! :)

Comprendo lo que quieres hacer... pero para esto, yo te recomendaría mejor utilizar un control Text. ¿POR QUÉ? Porque vas a realizar una transacción de datos y el control label como que no es muy indicado para el manejo transaccional. Pero bueno.. tu eres el programador aquí je je!

Por lo que veo... ¿Quieres sumar el total del campo porcent y que el resultado se muestre en la etiqueta? ¿Es eso? bueno... eso comprendí! Para esto, va así:

**--

LOCAL xpor

**-

SELECT tutabla

CALCULATE SUM(porcent) TO xpor

*--

THISFORM.Label1.Caption = STR(xpor)

THISFORM.Refresh

**--

Yo, en estos casos, utilizo un text y lo hago pasar (en propiedades visuales) por un label, estableciendo algunas propiedades como backstyle a transparente, no border... alignment, etc.Es mas efectivo. Evitamos el uso de funciones (STR) y así mismo, tener que estar convirtiendo los tipos de datos de numéricos a cadena de caracteres.

Saludos! Desde Managua, Nicaragua!

Ravenn :D :D :D

Gracias, me queda claro esto. Sin embargo el punto aquí es que la actualización debe ser dinámica, es decir, poder cambiar el valor de algún registro y se actualice el total en la etiqueta (o text, lo que sea). Este procedimiento está pensado para poder ajustar una vez ingresado el total de los datos variando uno u otro registro, para arriba o para abajo, pero bueno, ya me diste una idea.

Seguimos

PD. En calidad de mientras me voy a meter a usar un grid. ME aconsejas trabajar sobre la misma tabla o con variables... ya tuve mi primer encontronazo al querer cambiar el contenido del grid(y la tabla) y no pude hice esto:

replace thisform.grid1.column4 with (1-thisform.grid1.column3)... no me resultó. Pero bueno, voy a abrir otra pregunta con ese tema.

Para hacer la actualización de forma mas dinámica (automática) al mismo tiempo que cambias los registros, podes usar el mismo código en un evento precisamente mas dinámico... t recomiendo el interactivechange del text1 de la columna por del grid donde realizas la modificación. Así, cuando cambies el valor de ese text de forma interactiva, el método se dispara y cambia (actualiza) el valor.

Como lo segundo... si! Hazme una consulta aparte! :) Si no es mucha molestia! Para así, poder desarrollar mejor la duda y la respuesta! :)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas