In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Problema al Filtra en Browse con TSQLQuery como oDataSet y Select

Foro público de Xailer en español
Responder
Diego Ferreira
Mensajes: 148
Registrado: Mar Dic 18, 2007 4:39 pm

Problema al Filtra en Browse con TSQLQuery como oDataSet y Select

Mensaje por Diego Ferreira »

Hola Foro me eh encontrado con un problema. No se si a otra persona le ah
pasado lo mismo.
Por ejempo si tengo un TSQLQuery con un cSelect de este Tipo
SELECT Pr.Compania, Pr.Producto, Pr.Descripcion, ( Pr.Costo * 2 ) AS
CostoDoble, Pr.Tipo, Ti.Descripcion FROM Productos AS Pr LEFT JOIN Tipos AS
Ti ON Pr.Compania = Ti.Compania AND Pr.Tipo = Ti.Tipo WHERE Pr.Compania =
'01'
en la Barra del Filtrado del Browse me permite filtra en las columna con el
oDataField por ejemplo P.Producto, Pr.Descripcion, Pr.Tipo. Pero en las
Columnas con CostoDoble y TipoDescripcion me da un error en tiempo de
ejecucion. Esto se debe porque tienen el AS en el Query
En algunas partes lo eh solucionado pero de otra forma haciendo un Execute
al DataSource y grabando el SELECT en un Array para luego Mostrarlo en un
ArrayBrowse que si me permite filtralo libremente.
Seria genial que se pueda filtra en estos campos q no lo permiten... Y otros
metodos como el Locate tambien marcan error...
Att. Diego Ferreira.
Caracas. Venezuela
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Problema al Filtra en Browse con TSQLQuery como oDataSet y Select

Mensaje por jfgimenez »

Diego,
vamos a revisarlo cuanto antes.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Diego Ferreira
Mensajes: 148
Registrado: Mar Dic 18, 2007 4:39 pm

Problema al Filtra en Browse con TSQLQuery como oDataSet y Select

Mensaje por Diego Ferreira »

Gracias me siver si pongo un identicador en cada campo de la tabla como
antes lo tenia en la tabla Tipo el campo Descripcion lo renombre
Ti_Descripcion y si me filtra ya que no necesita la Sentencia AS para
identificarlo diferente ya que no se repite en mi DB. Pero aun haci tengo
problemas para filtar cualkien campo que sea calculado. Ejem: ( Costo * 2 )
AS CostoDoble marca error en tiempo de ejecucion de todas maneras.
y si tengo un campo tengo un SELECT concat( Descripcion, Space(1), Linea )
AS Descripcion
mi tabla es
Descripcion Linea
------------------------
Cartera 1
Collar 2
Zapato 3
el resultado de el select anterior seria
Descripcion
---------------
Cartera 1
Collar 2
Zapato 3
y en el Filtro del Browse para el campo descripcion coloco "2"
no me muestra ningunresultado
Pero si coloco "ato"
me trae el Zapato 3
pero si coloco "ato 3"
no trae nada ya que en realidad busca por el campo del dataset.
por ahora soluciono una parte... espero a ver !
Gracias Rodilfo por la respuesta me sirve a solucional por lo menos una
parte!
"Rodolfo MG @hotmail.com>" <rmgsistemas<No S p am> escribió en el mensaje
news:[email=49676b6d@svctag-j7w3v3j....]49676b6d@svctag-j7w3v3j....[/email]
> Hola, Diego.
>
> Aquí te pongo el ejemplo de las sentencias SELECT que utilizo sin
> problemas. Como ves, utilizo la concatenación de tres columnas de la tabla
> CLIENTES para que sea una sóla columna para el DataSet. Con esto el
> autofiltro y el autosort en el DBBrowse sobre esa columna funciona sin
> ningún problema.
>
>
> Para PostgreSQL
> cSelect := "SELECT CLI_ID, CLI_NOMBRE || chr(32) || CLI_APEPAT || chr(32)
> || CLI_APEMAT AS CLI_NOMBRE, CLI_TIPPER, CLI_RFC, CLI_ULTVENTA,
> CLI_SALDOACT, CLI_VENTANETA FROM CLIENTES ORDER BY CLI_ID"
>
> Para MySQL:
> cSelect := "SELECT CLI_ID, Concat( Ltrim( CLI_NOMBRE ), Space(01),
> Ltrim( CLI_APEPAT ), Space(01), Ltrim( CLI_APEMAT ) ) AS CLI_NOMBRE,
> CLI_TIPPER, CLI_RFC, CLI_ULTVENTA, CLI_SALDOACT, CLI_VENTANETA FROM
> CLIENTES ORDER BY CLI_ID"
>
> Espero que te sea de utilidad.
>
> Saludos,
>
> Rodolfo MG
>
>
>
>
> "Diego Ferreira" <diego.datamatic@hotmail.com> escribió en el mensaje
> news:[email=4966a5c8@svctag-j7w3v3j....]4966a5c8@svctag-j7w3v3j....[/email]
>> Hola Foro me eh encontrado con un problema. No se si a otra persona le ah
>> pasado lo mismo.
>> Por ejempo si tengo un TSQLQuery con un cSelect de este Tipo
>>
>> SELECT Pr.Compania, Pr.Producto, Pr.Descripcion, ( Pr.Costo * 2 ) AS
>> CostoDoble, Pr.Tipo, Ti.Descripcion FROM Productos AS Pr LEFT JOIN Tipos
>> AS Ti ON Pr.Compania = Ti.Compania AND Pr.Tipo = Ti.Tipo WHERE
>> Pr.Compania = '01'
>>
>> en la Barra del Filtrado del Browse me permite filtra en las columna con
>> el oDataField por ejemplo P.Producto, Pr.Descripcion, Pr.Tipo. Pero en
>> las Columnas con CostoDoble y TipoDescripcion me da un error en tiempo de
>> ejecucion. Esto se debe porque tienen el AS en el Query
>>
>> En algunas partes lo eh solucionado pero de otra forma haciendo un
>> Execute al DataSource y grabando el SELECT en un Array para luego
>> Mostrarlo en un ArrayBrowse que si me permite filtralo libremente.
>>
>> Seria genial que se pueda filtra en estos campos q no lo permiten... Y
>> otros metodos como el Locate tambien marcan error...
>>
>> Att. Diego Ferreira.
>> Caracas. Venezuela
>>
>
>
Responder