FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour SetOrder en TDolphin
Posts: 1054
Joined: Sun Oct 09, 2005 10:41 PM
SetOrder en TDolphin
Posted: Sat Sep 27, 2014 03:49 AM
Hola Daniel...
cuando el select es simple, ::SetOrder() funciona correctamente, igual sucede con ::Refresh(), pero si el select es complejo, con subselect o join SetOrder no funciona,
la base de datos se llama 'diesel'

Code (fw): Select all Collapse
//
cQuery := "SELECT * FROM herrera.productos WHERE productos.cod_producto <> '' ORDER BY productos.producto, productos.codbar1, productos.codbar2"                
oDatos := oMySQL:Query(cQuery)     
oDatos:SetOrder("codbar1")                 // funciona correctamente


Code (fw): Select all Collapse
//
cQuery := "SELECT productos.*, IFNULL((SELECT imagenes.registro FROM imagenes WHERE imagenes.cod_producto = productos.cod_producto),0) AS imagen  FROM herrera.productos WHERE productos.cod_producto <> '' ORDER BY productos.producto, productos.codbar1, productos.codbar2"
oDatos := oMySQL:Query(cQuery)     
oDatos:SetOrder("codbar1")                 // no funciona, sale error  UnKnow table 'diesel.productos'  ERROR Nº 1051
Guest
Posts: 0
Joined: unknown
Re: SetOrder en TDolphin
Posted: Sat Sep 27, 2014 11:40 AM
Willi
Si es una limitante de tdolphin, pero siempre hay un plan B

Mira este hilo, creo que deje una alternativa
http://forums.fivetechsupport.com/viewtopic.php?p=108689#p108689
Posts: 1054
Joined: Sun Oct 09, 2005 10:41 PM
Re: SetOrder en TDolphin
Posted: Sat Sep 27, 2014 03:17 PM
Hola Daniel, gracias por contestar....
Una apreciación, seria factible "guardar" la cadena de consultas y al hacer un ::Refresh() volver a hacer el Query() y en el caso del SetOrder sustitur el Order By por el nuevo??

Code (fw): Select all Collapse
cQuery := "SELECT productos.*, IFNULL((SELECT imagenes.registro FROM imagenes WHERE imagenes.cod_producto = productos.cod_producto),0) AS imagen  FROM herrera.productos WHERE productos.cod_producto <> '' ORDER BY productos.producto, productos.codbar1, productos.codbar2"
oDatos := oMySQL:Query(cQuery)     
..
...
oDatos:SetOrder("codbar1")                 // aqui se sustituiría "ORDER BY productos.producto, productos.codbar1, productos.codbar2" por "ORDER BY codbar1"  y hacer un Query de nuevo..

Continue the discussion