Inicio > Visual FoxPro > hhbernal > como sumar lo de un grid a un textbox

como sumar lo de un grid a un textbox

Experto:
Usuario: Anónimo Fecha: 16/07/2008
Valoración: (3,00 sobre 5) Categoría: Visual FoxPro
14/06/2008
Usuario
hola mira estaba leyendo como podias sumar lo de una grid a un text mira yo tengo en mi tabla tot_fact y en la grid le puse total quiero realizar la suma apra generar el total facturado mira eh echo lo siguiente per me dice q no me reconoce el total no el txtTot_fac
 
 
SELECT TOTAL
SUM total TO txtTot_fact
Thisform.txtTot_fact.value = total
Thisform.txtTot_fact.Refresh
mi grid se lla grddesg_fac y el total se encuentra en ela columna 9 grddesg_fac .column9 pero no logro q lo sume me marca error porfvor si me podrias ayudar  o como le hago para realizar la suma gracias por tu atencion ........
16/06/2008
avefenix08, experto respondiendo en Visual FoxPro
Experto
Hola,
Supongamos que tu cursor o dbf se llama TOTAL y el objeto txt se llama txtTotal, entonces puedes hacer lo siguiente:
SELECT total
SUM total TO lnTotal
Thisform.txtTotal.value = lnTotal
Thisform.Lockscreen = .t.
Thisform.Refresh
Thisform.Lockscreen = .f.
De ésta forma puedes totalizar columnas de un grid y mostrar el resultado.
Espero sea de ayuda.

Saludos desde México, D.F.
17/06/2008
Usuario
esq mira el problema q no me acepta el lntotal estoe s una varibale q tengo q declarar ??'
mira estaba pensando acer lo siguiente:
 
lntotal=0
SELECT grddesg_fac
SUM column9 TO lnTotal
Thisform.txtTotal.value = lnTotal
Thisform.Lockscreen = .t.
Thisform.Refresh
Thisform.Lockscreen = .f.
mira esta es mi otra duda al momente de poner el comando select me refiero al objeto grid o al la tabla(header1) donde viene el total.
sum la columna donde quiero q sume por eso ahi la column9 ahi se entcuentra lo que quiero sumar espero y comprendas mi pregunta
gracias por responder me sirvio pero me salieron estas son mis dudas q salen espero y me puedas responder de nuevo..
17/06/2008
Usuario
hola soy otra vez yo mira no me funciona me dice q no se ecnuentra la variable que crees q sea?:
escribo
select heade1 se supone q aqui es el onjeto o la tabla del grid eso creo
sum column9 to xtot aqui sumo lo de la columna donde se encuentra mis datos y se va ala variable xtot
thisform.txtTot_fac.value=xtot aqui debe de aparecer mi dato sumado de la columna q solcite
thisform.refresh es donde se refreszca  pero me dice q header1 no es nombre del alias y column9 no exixste la variable q me recomiendas mira el txtTOt_fac lo saque de una tabal q se llama desgloce de factura  cres q tenga algo q ver......
te dejo mi mail para ver si nos podemos contactar avefenixforever@hotmail.com
 
 
 
17/06/2008
avefenix08, experto respondiendo en Visual FoxPro
Experto
Hola,
Para que lo que te sugerí funcione haz lo siguiente, suponiendo que tu archivo DBF se llama total, además cambia el nombre de tu grid por grdDatos.
1. Lo siguiente ponlo en el init de tu forma. De ésta forma le asignas al grid un DBF, en el cual tienes los datos que quieres totalizar.
Thisform.grdDatos.RecordSource = 'total'
Thisform.grdDatos.RecordSourceType = 1
Thisform.grdDatos.column1.ControlSource = 'total.campo1'
Thisform.grdDatos.column2.ControlSource = 'total.campo2'
Thisform.grdDatos.column3.ControlSource = 'total.campo3'
Thisform.grdDatos.column4.ControlSource = 'total.importe'
Thisform.grdDatos.column5.ControlSource = 'total.iva'
Thisform.grdDatos.column6.ControlSource = 'total.total'
2. Luego, copia el siguiente código en el lugar donde quieres que se realice el cálculo.
SELECT total
SUM total TO lnTotal
Thisform.txtTot_fact.value = lnTotal
Thisform.Lockscreen = .t. 
Thisform.Refresh
Thisform.Lockscreen = .f.
No necesariamente debes declarar lnTotal, puesto que el SUM la puede dejar en cero o diferente de cero.
Con ésto solucionas tu problema.
 
19/06/2008
Usuario
afectara la propiedaedades del grid si en controlsource tenia algo gracias
19/06/2008
avefenix08, experto respondiendo en Visual FoxPro
Experto
Hola,
Para evitar posibles conflictos o resultados impredecibles, debes quitar todo lo que tengas en la propiedad controlsource del grid y de cada una de las columnas, colocando el código que te dje en el INIT de la forma. Así te aseguras de que todo se ejecute correctamente.

Saludos desde México, D.F.
20/06/2008
Usuario
gracias  es lo q voy acer mejor para q no vaya a  ver fallas oye si no es mucha violencia no me podiras amndar un ejemplo de alguna factura o algo q tengas q sumar en grid gracias por respoder me has ayudaddo mucho...... 
22/06/2008
Usuario
. Lo siguiente ponlo en el init de tu forma. De ésta forma le asignas al grid un DBF, en el cual tienes los datos que quieres totalizar.
Thisform.grdDatos.RecordSource = 'total'
Thisform.grdDatos.RecordSourceType = 1
Thisform.grdDatos.column1.ControlSource = 'total.campo1'
Thisform.grdDatos.column2.ControlSource = 'total.campo2'
Thisform.grdDatos.column3.ControlSource = 'total.campo3'
Thisform.grdDatos.column4.ControlSource = 'total.importe'
Thisform.grdDatos.column5.ControlSource = 'total.iva'
Thisform.grdDatos.column6.ControlSource = 'total.total'
2. Luego, copia el siguiente código en el lugar donde quieres que se realice el cálculo.
SELECT total
SUM total TO lnTotal
Thisform.txtTot_fact.value = lnTotal
Thisform.Lockscreen = .t.
Thisform.Refresh
Thisform.Lockscreen = .f.
en este es como crear la tabla de total si no mas entiendo o tu le diste ese nombre a total.campo1 esa es mi duda por ya enonctre la forma per me suma todo lo q tengo en mi tabla y yo lo que quiero es q me sume lo de la facura nunermo 1 factura numero 2 lo q se va genrando en cada nuemero  de factura espero y me entiendas.
11/07/2008
avefenix08, experto respondiendo en Visual FoxPro
Experto
Hola,
Por la carga excesiva de trabajo no he podido contestarte. Disculpa el no poder ayudarte.
 
16/07/2008
Usuario
ok gracias como quiera se q estan ahi para ayudar sera en otra ocacion gracias de todas formas
Enlaces patrocinados