www.clarioneros.com

El rincón de los desarrolladores
Fecha actual Lun Dic 11, 2017 9:07 pm

Todos los horarios son UTC




Nuevo tema Responder al tema  [ 6 mensajes ] 
Autor Mensaje
NotaPublicado: Lun Oct 23, 2017 5:01 pm 
Desconectado

Registrado: Mar Mar 01, 2011 8:36 pm
Mensajes: 109
Hola foreros!

Es posible colocar un locator a mano en un browse para que busque en todas las columnas o en algunas de ellas? Por ejemplo, en una tabla de comprobantes que poseen un número, un nombre de cliente, un domicilio, etc. si el cliente escribe la cadena '007' podría mostrar algo así:

NUMERO NOMBRE DOMICILIO
1007 PEREZ SAN JUAN 117
1860 GONZALEZ MITRE 007
1750 '007' BOND ALEM 200

En FireBird logro hacerlo usando el WHERE y el CONTAINING concatenando los campos en los que quiero buscar con un OR, pero no sé si puedo hacer algo similar usando el {PROP:SQLFILTER} directamente en la vista del Browse?


Arriba
 Perfil Email  
 
NotaPublicado: Lun Oct 23, 2017 6:11 pm 
Desconectado

Registrado: Sab Feb 12, 2011 1:53 am
Mensajes: 44
Ubicación: Cd. Juarez,Chih,Mexico
Tal cual como lo pones, con BRW1::View:Browse{PROP:SQLFilter}='a.DESCRIPCION LIKE ''%'&clip(Loc:Buscador)&'%'' OR a.FORMULA LIKE ''%'&CLIP(Loc:Buscador)&'%'''
seguido de un BRW1.ResetQueue(Reset:Queue)

saludos

_________________
Victor Montañez


Arriba
 Perfil Email  
 
NotaPublicado: Mar Oct 24, 2017 6:39 am 
Desconectado
Avatar de Usuario

Registrado: Dom Feb 06, 2011 9:34 am
Mensajes: 1017
Ubicación: España
Solo un comentario: normalmente estas búsquedas son "pesadas" porque no le queda otra que ir recorriendo registro por registro, dependiendo de la cantidad de registros que tengas puede llegar a ser lento. A lo mejor podés agregar una condición extra, por ejemplo una fecha (y la tabla teniendo un índice por esa fecha). En ese caso el WHERE sería FECHA BETWEEN Desde AND Hasta AND (tu condiciones). Así ya limitás la cantidad de registros a aquellos que estén dentro del rango de fechas (puse fecha como ejemplo, podría ser otra condición pero por la que tengas un índice).

_________________
Mauricio, básicamente usando Clarion 6.3
www.tdcsoftware.com y www.clarioneros.com/blog


Arriba
 Perfil Email  
 
NotaPublicado: Mar Oct 24, 2017 5:07 pm 
Desconectado

Registrado: Mar Mar 01, 2011 8:36 pm
Mensajes: 109
Gracias a ambos por el aporte! Estoy probando con el LIKE, pero me da un error. Primero me había comido una coma :oops: pero una vez que lo arreglé, me salta el error que adjunto. Estoy probando con un browse bien simple, clave primaria, 4 campos en el list y puestos los 4 como Hot Fields también... probé con diferentes campos pero siempre me da el error en el que estoy ejecutando la búsqueda.

El código en el accepted de la variable:

BRW3::View:Browse{PROP:SQLFilter}='RESERVAS.NOMBRECLI LIKE ''%'&clip(Buscador)&'%'''
BRW3.ResetQueue(Reset:Queue)


No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.


Arriba
 Perfil Email  
 
NotaPublicado: Mar Oct 24, 2017 5:57 pm 
Desconectado
Avatar de Usuario

Registrado: Dom Feb 06, 2011 9:34 am
Mensajes: 1017
Ubicación: España
Si la tabla RESERVAS es la única, no le pongas RESERVAS.NOMBRECLI, prueba solo con NOMBRECLI y si no, con A.NOMBRECLI. A menos que se lo indiques específicamente Clarion usa alias para cada tabla, poniéndole A, B, C, etc. Lo más probable es que tengas un FROM RESERVAS A blah blah blah, por lo cual al poner RESERVAS.NOMBRECLI no sepa de qué tabla se trata.

_________________
Mauricio, básicamente usando Clarion 6.3
www.tdcsoftware.com y www.clarioneros.com/blog


Arriba
 Perfil Email  
 
NotaPublicado: Mié Oct 25, 2017 1:27 pm 
Desconectado

Registrado: Mar Mar 01, 2011 8:36 pm
Mensajes: 109
Eureka!!! Gracias!!! Me había comido esa parte de los Alias cuando leí el Help :roll:


Arriba
 Perfil Email  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 6 mensajes ] 

Todos los horarios son UTC


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Saltar a:  
cron
Powered by phpBB® Forum Software © phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com