Hola Daniel...
cuando se usa Refresh() el método no halla la tabla correspondiente:
oDatos := oCon:Execute("Select * from productos.articulos")
..
..
..
oDatos:Refresh() // <- aquí indica que ho existe productos.articulos
Salu2
Hola Daniel...
cuando se usa Refresh() el método no halla la tabla correspondiente:
oDatos := oCon:Execute("Select * from productos.articulos")
..
..
..
oDatos:Refresh() // <- aquí indica que ho existe productos.articulos
Salu2
El método Execute solo devuelve si se ha ejecutado correctamente (.t. o .f.).
el método execute, no es para eso,
oDatos := oCon:Query("Select * from productos.articulos")
oDatos:refresh()
Lo siento, error mio...
oDatos := oCon:Query("Select * from productos.articulos")
..
..
..
oDatos:Refresh() <-el error es aquí, indica euq no existe productos.articulos
oDatos := oCon:Query("Select * from productos , articulos") oQry:= oSrv:Query( "SELECT desc_div FROM divisiones ORDER BY id_div" )
// Dialogo
DEFINE DIALOG soDlg1 RESOURCE "dlg_Browse" OF oWnd TITLE "Divisiones"
soDlg1:lHelpIcon:= FALSE
REDEFINE XBROWSE oBrw OBJECT oQry ID 500 ;
AUTOCOLS AUTOSORT HEADERS "Divisiones" // El browse se muestra correctamente
...
...El refresh deberia ser en el Xbrowse para que actualice la data, en el query creo como dice el colega, no es necesario, a menos que hagas algo directamente a la tabla de donde hicistes el query, entonces el refresh si lo uso para que actualice la consulta y luego el xbrowse si es el caso, saludos... ![]()
hola.
a mi me pasa esto a ver si pueden guiarme.
hago una consulta por el campo fecha,
y relleno un xbrowse,
luego un boton que hace la misma consulta pero con una fecha diferente.
hago un refresh() del xbrowse y los datos siguen quedando los viejos,
si la consulta devuelve datos si lo muestra, pero si no existen datos quedan los viejos.
porque?
gracias.
local oQry
define query oQry "SELECT * FROM tbdatos.clientes"Hola sr.
prueba con :
oQuery:LoadQuery()
select * from tbclientes" DEFINE query ::oQry "select " +;
"tbfacturas.fecha as c1, " +;
"tbfacturados.descripcion as c2, " +;
"tbfacturados.cantidad as c3, " +;
"tbfacturados.precio as c4, " +;
"tbfacturados.idfactura c5 "+;
"from " +;
"tbfacturas " +;
"left join tbfacturados " +;
"on tbfacturas.id = tbfacturados.idfactura " +;
"where tbfacturas.fecha = " + ClipValue2SQL(vGets[1])+;
" order by tbfacturados.descripcion"Gus;
meto la cuchara en la parte de establecer Orden.
Si en la declaración del xBrowse agregas AUTOSORT, te aparecerá ordenado por la columna que indique el índice asociado y mostrará el triángulo sobre el header correspondiente.
Asi es Mario,
Pero al momento de hacerle click a la columna 2, muuestra el triangulito pero no muestra ordenada la columna HASTA QUE sacas el mouse del mismo xbrowse o presionas tab y pasas el foco a otro control.
Con el solo hecho de sacar el mouse desde arriba del xbrowse ahi se entera que tiene que mostrar denuevo los datos y si! muestra esa columna 2 ordenada.
Gracias.
mmmm... si me esta pasando con un xBrowse y datos de una DBF
Mañana me fijo, creo que tengo un codigo que forzaba el orden haciendo clic en la columna
cDatos := "select " +;
"tbfacturas.fecha as c1, " +;
"tbfacturados.descripcion as c2, " +;
"tbfacturados.cantidad as c3, " +;
"tbfacturados.precio as c4, " +;
"tbfacturados.idfactura c5 "+;
"from " +;
"tbfacturas " +;
"left join tbfacturados " +;
"on tbfacturas.id = tbfacturados.idfactura " +;
"where tbfacturas.fecha = " + ClipValue2SQL(vGets[1])+;
" order by tbfacturados.descripcion"
eDatos := {|| query := ::Query(cDatos)}
EVAL(eDatos) // evaluas la sentencia cuando lo requieras, que al final es lo mismo que el ::refresh()
...
...