[Lazarus-es] Filtros en TSQLQuery

Ismael L. Donis Garcia ismael en citricos.co.cu
Mie Ago 17 18:16:56 CEST 2011


Acabo de probar de las 2 formas y ninguna funciona:

dm.rssc1.Filter:='(cuenta = ' + 
dbg.DataSource.DataSet.FieldByName('cuenta').AsString + ') and (subcta = ''' 
+ sscta + ''') and (capitulo = ''' + scap + ''') and (subcap = ''' + sscap + 
''')';

dm.rssc1.Filter:='(cuenta = ' + 
dbg.DataSource.DataSet.FieldByName('cuenta').AsString + ') and ' + 
format('(subcta=%s)',[AnsiQuotedStr(pchar(sscta), '''')]) + ' and ' + 
format('(capitulo=%s)',[AnsiQuotedStr(pchar(scap), '''')]) + ' and ' + 
format('(subcap=%s)',[AnsiQuotedStr(pchar(sscap), '''')]);

El problema lo da cuando tengo que filtrar un campo que sea igual a una 
cadena vacia, no nula. Tengo los campos que asuman por defecto el valor ''

Field                Type                        Default
CUENTA        SMALLINT
SUBCTA         VARCHAR(3)        ''
CAPITULO     VARCHAR(7)        ''
SUBCAP         VARCHAR(7)        ''

En Firebird 2.1.4

Saludos Reiterados
=========
|| ISMAEL ||
=========
----- Original Message ----- 
From: "Maxi" <maximiliano.duarte en gmail.com>
To: "Spanish version of Lazarus List" 
<lazarus-es en lists.lazarus.freepascal.org>
Sent: Tuesday, August 16, 2011 5:40 PM
Subject: Re: [Lazarus-es] Filtros en TSQLQuery


prueba usando la funcion quoted

filtro:= Format("(cuenta = %d) and (subcta = %s),[135,QuotedStr('')];

y revisa si los nuemors no son letras en el campo.



2011/8/16 Ismael L. Donis Garcia <ismael en citricos.co.cu>:
> En primera me faltaban los paréntesis, pero sigue el problema
>
> Cuando pongo por ejemplo el filtro:
>
>
>
> Me da error, no me coje el filtro cuando la cadena es de logitud cero, en 
> la
> base de datos el valor no es null ya que tiene por defecto al valor ''
>
> Para establecer el filtro uso variables:
>
> dm.rssc1.Filter:='(cuenta = ' +
> dbg.DataSource.DataSet.FieldByName('cuenta').AsString + ') and (subcta = 
> '''
> + sscta + ''') and (capitulo = ''' + scap + ''') and (subcap = ''' + sscap 
> +
> ''')';
>
> sacta, scap y sscap son variables string que pueden tener un valor o
> simplemente ser igual a ''
>
> Uso Firebird 2.1.4
>
> Saludos Reiterados
> =========
> || ISMAEL ||
> =========
> ----- Original Message ----- From: "Maxi" <maximiliano.duarte en gmail.com>
> To: "Spanish version of Lazarus List"
> <lazarus-es en lists.lazarus.freepascal.org>
> Sent: Tuesday, August 16, 2011 4:16 PM
> Subject: Re: [Lazarus-es] Filtros en TSQLQuery
>
>
> probá
> dm.rssc1.Filter:='(cuenta = 110) and (subcta = '''1''') and (capitulo
> = '''') and (subcap = '''');
> o
> dm.rssc1.Filter:='(cuenta = 110) and (subcta = ''1'') and (capitulo =
> null ) and (subcap = null);
>
> sino empezá a agregar filtros de a uno para ver cual falla
>
> -----
>
> El que pregunta aprende, y el que contesta aprende a responder.
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>
>
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>



-- 
No a la obsolecencia programada:
http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html

Twitter: @nenunocomar
Identi.ca: @nenuno
Linux User #495070
Ubuntu User #28504
http://miexperiencialinux.blogspot.com/

El que pregunta aprende, y el que contesta aprende a responder.

_______________________________________________
Lazarus-es mailing list
Lazarus-es en lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es






More information about the Lazarus-es mailing list