Problema con grid checkbox vfp mysql
Tengo un formulario vfp9 con entorno mysql en donde se registra los cobros.
En donde tengo grid con checkbox que lo alimentaba por medio de una tabla temporal cunado lo utilizaba con base de datos vfp pero como ahora pretendo usar base de datos mysql. Tengo el problema: primero lo alimento a mi grid por medio de estas instrucciones que lo hace perfectamente.
thisformset.form1.grid2.RecordSource=""
vtexto="select mensualidad.men_facven,mensualidad.men_descri,"+;
"mensualidad.men_log, mensualidad.men_cuota, mensualidad.men_venci as plazo,"+; "mensualidad.men_saldo,mensualidad.men_desc from mensualidad,clientes where mensualidad.men_cli=?xclit and "+;
"clientes.cli_cod=mensualidad.men_cli and mensualidad.men_sit=1 and mensualidad.men_mensit=1 and "+;
"mensualidad.men_log=0 order by mensualidad.men_facven,mensualidad.men_venci"
IF(SQLEXEC(xcontrol,vtexto,"sql2"))>0
SELECT sql2
index on men_facven tag men_facven
thisformset.form1.grid2.RecordSource="sql2" //el nombre de mi tabla remota
GO TOP
thisform.grid2.Enabled= .t.
Thisform.Grid2.Refresh()
*thisform.grid2.Enabled=.t.
thisform.CHECK1.Enabled= .f.
thisform.command3.Enabled= .f.
thisform.grid2.column7.text1.Enabled= .f.
thisform.grid2.column3.text1.Enabled= .f.
thisform.grid2.column5.text1.Enabled= .f.
thisform.grid2.column1.text1.Enabled= .f.
thisform.grid2.column6.CHECK1.Enabled= .t.
thisform.grid2.column6.CHECK1.setfocus()
ENDIF
Este funciona bien para cargar el grid. Como un cliente tiene 5 cuotas fijas por ejemplo quiero marcar si quiere pagar 2 cuotas al marcar el check para que realice devuelta otra consulta para ir sumando en un text y actualizando cada vez que marca el check dentro del grid. Lo que hice es esta instrucción en el checkbox al marcar en el click:
IF This.value=1
SELECT sql2
replace sql2.men_log with 1
auxlog=1
vtexto="select sql2.men_facven,sql2.men_descri,"+;
"sql2.men_log, sql2.men_cuota, sql2.men_venci as plazo,"+;
"sql2.men_saldo,sql2.men_desc from sql2 where sql2.men_log=?auxlog order by sql2.men_facven"
IF(SQLEXEC(xcontrol,vtexto, "sql4"))>0
SELECT sql4
SUM sql4.MEN_saldo TO THISFORMset.form1.tcompra.value
ELSE
wait wind("no hay registro")
Endif
Endif
Cual seria el error. Desde ya gracias por su atención.
En donde tengo grid con checkbox que lo alimentaba por medio de una tabla temporal cunado lo utilizaba con base de datos vfp pero como ahora pretendo usar base de datos mysql. Tengo el problema: primero lo alimento a mi grid por medio de estas instrucciones que lo hace perfectamente.
thisformset.form1.grid2.RecordSource=""
vtexto="select mensualidad.men_facven,mensualidad.men_descri,"+;
"mensualidad.men_log, mensualidad.men_cuota, mensualidad.men_venci as plazo,"+; "mensualidad.men_saldo,mensualidad.men_desc from mensualidad,clientes where mensualidad.men_cli=?xclit and "+;
"clientes.cli_cod=mensualidad.men_cli and mensualidad.men_sit=1 and mensualidad.men_mensit=1 and "+;
"mensualidad.men_log=0 order by mensualidad.men_facven,mensualidad.men_venci"
IF(SQLEXEC(xcontrol,vtexto,"sql2"))>0
SELECT sql2
index on men_facven tag men_facven
thisformset.form1.grid2.RecordSource="sql2" //el nombre de mi tabla remota
GO TOP
thisform.grid2.Enabled= .t.
Thisform.Grid2.Refresh()
*thisform.grid2.Enabled=.t.
thisform.CHECK1.Enabled= .f.
thisform.command3.Enabled= .f.
thisform.grid2.column7.text1.Enabled= .f.
thisform.grid2.column3.text1.Enabled= .f.
thisform.grid2.column5.text1.Enabled= .f.
thisform.grid2.column1.text1.Enabled= .f.
thisform.grid2.column6.CHECK1.Enabled= .t.
thisform.grid2.column6.CHECK1.setfocus()
ENDIF
Este funciona bien para cargar el grid. Como un cliente tiene 5 cuotas fijas por ejemplo quiero marcar si quiere pagar 2 cuotas al marcar el check para que realice devuelta otra consulta para ir sumando en un text y actualizando cada vez que marca el check dentro del grid. Lo que hice es esta instrucción en el checkbox al marcar en el click:
IF This.value=1
SELECT sql2
replace sql2.men_log with 1
auxlog=1
vtexto="select sql2.men_facven,sql2.men_descri,"+;
"sql2.men_log, sql2.men_cuota, sql2.men_venci as plazo,"+;
"sql2.men_saldo,sql2.men_desc from sql2 where sql2.men_log=?auxlog order by sql2.men_facven"
IF(SQLEXEC(xcontrol,vtexto, "sql4"))>0
SELECT sql4
SUM sql4.MEN_saldo TO THISFORMset.form1.tcompra.value
ELSE
wait wind("no hay registro")
Endif
Endif
Cual seria el error. Desde ya gracias por su atención.
1 respuesta
Respuesta de Hector Cevallos
1