[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