problema con filter
tengo un problemilla , a ver si me podeis ayudar:
tengo que hacer el siguiente filtro: campo1 like %palabra% and (campo2 <> '' or campo3 <> '' ) pero me da el siguiente error: -Argumentos incorrectos, fuera del intervalo permitido o en conflicto con otros. Hay otra forma de hacer el filtro para que no me de el error? He probado con parentesis, sin ellos,,, pero no me funciona, y no me gustaria hacerlo con una consulta. Muchas gracias de antemano. |
Hola:
Prueba esto: Filter := 'campo1 like ' + QuotedStr(%palabra%) + ' and (campo2 <> NULL or campo3 <> NULL)'; Un saludo |
sique saliendome el mismo error... parece ser que es por los parentesis porque esto funciona:
campo1 like %palabra% and campo2 <> '' or campo3 <> '' pero vamos, que esto no es lo que yo quiero ^_^ |
Los Filtros no admiten Like mira este hilo:
http://www.clubdelphi.com/foros/show...t=%2Afiltro%2A Un Saludo. |
yo tengo filtros con like y si que me funcionan...
que raro. |
Hola:
Depende de qué componentes, los del BDE no admiten like, sino "=palabra*", pero los ADO sí que admiten este operador. Prueba de poner la primera expresión también entre paréntesis: Filter := '(campo1 like ' + QuotedStr(%palabra%) + ') and (campo2 <> NULL or campo3 <> NULL)'; Un saludo |
tampoco me va...
|
Según pruebas que acabo de realizar en Paradox solo funciona para los campos en que les pasemos como comienzan, no va ni con terminan, ni contienen.
Código:
procedure TForm1.Button1Click(Sender: TObject); |
¿Y Así?
Filter := '(campo1 like ' + QuotedStr(%palabra%) + ') and ((campo2 <> NULL) or (campo3 <> NULL')); |
joder, ni a la de tres ( y perdon por el taco)
tampoco me va asi,,, es por el parentesis, estoy seguro, pero para unir las dos ultimas expresiones con el or... no tengo otra opcion snif snif ... |
La franja horaria es GMT +2. Ahora son las 13:49:29. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi