FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
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.
__________________
Si me ves durmiendo no me despiertes, podría estar soñando que soy libre. |
#2
|
|||
|
|||
Hola:
Prueba esto: Filter := 'campo1 like ' + QuotedStr(%palabra%) + ' and (campo2 <> NULL or campo3 <> NULL)'; Un saludo |
#3
|
||||
|
||||
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 ^_^
__________________
Si me ves durmiendo no me despiertes, podría estar soñando que soy libre. |
#4
|
||||
|
||||
Los Filtros no admiten Like mira este hilo:
http://www.clubdelphi.com/foros/show...t=%2Afiltro%2A Un Saludo. |
#5
|
||||
|
||||
yo tengo filtros con like y si que me funcionan...
que raro.
__________________
Si me ves durmiendo no me despiertes, podría estar soñando que soy libre. |
#6
|
|||
|
|||
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 |
#7
|
||||
|
||||
tampoco me va...
__________________
Si me ves durmiendo no me despiertes, podría estar soñando que soy libre. |
#8
|
||||
|
||||
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); begin Table1.Filter:='Company ='+QuotedStr(Edit1.text+'*') ; ShowMessage(table1.Filter); Table1.Filtered:=True; end; Última edición por marcoszorrilla fecha: 05-06-2003 a las 14:00:56. |
#9
|
|||
|
|||
¿Y Así?
Filter := '(campo1 like ' + QuotedStr(%palabra%) + ') and ((campo2 <> NULL) or (campo3 <> NULL')); |
#10
|
||||
|
||||
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 ...
__________________
Si me ves durmiendo no me despiertes, podría estar soñando que soy libre. |
|
|
|