Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-11-2014
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 18
Delphitest Va por buen camino
Buenos días,

inicialmente la idea era buscar por varios campos en una sola tabla, la de clientes. Eso ya se resolvió en el post que comentas y funciona perfectamente.

Ahora me ha surgido la necesidad de que la búsqueda se haga ademas de en la tabla de clientes, también y a la vez en la tabla de contactos.

De ahí mi consulta para intentar adaptar el código.

ECFISA, he probado con FULL OUTER en lugar de INNER pero me devuelve este error:

"Objeto Parameter mal definido. Se proporcionó información incompleta o incoherente"
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
  #2  
Antiguo 29-11-2014
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 18
Delphitest Va por buen camino
Vaya, ayer me tire unas cuantas hora probando de todo y no había manera, hoy me he levantado inspirado y después de hacer pruebas ya consigo que los resultados de la búsqueda muestren también los clientes que no tenga contactos relacionados.

Me funciona utilizando LEFT JOIN

Solo me falta que la búsqueda tenga en cuenta los datos de la tabla contactos, porque estoy comprobando que no lo hace, solo se buscan dentro de clientes.
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
  #3  
Antiguo 29-11-2014
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 18
Delphitest Va por buen camino
Ya sé donde tengo el fallo pero no acabo de dar con la solución.

Sólo se tiene en cuenta la primera condición pero no lo que pongo después del 'OR', posiblemente no lo esté escribiendo correctamente. El caso es que no da error de ningun tipo pero veo que no lo tiene en cuenta. He hecho estas pruebas:

Con esto lo busca solo en la tabla de clientes

Código Delphi [-]
SQL.Add('CLI.NOMBRE LIKE :PNOM OR C.NOMBRE LIKE :PNOM');

Con esto lo busca solo en la tabla de contactos

Código Delphi [-]
SQL.Add('C.NOMBRE LIKE :PNOM OR CLI.NOMBRE LIKE :PNOM');

He probado por si acaso:

Código Delphi [-]
 SQL.Add('(C.NOMBRE LIKE :PNOM)');
 SQL.Add('OR');
 SQL.Add('(CLI.NOMBRE LIKE :PNOM)');

Pero nada, tiene que ser algo relacionado con el uso de las comillas o paréntesis pero por muchas combinaciones que estoy haciendo no doy con ello.
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
  #4  
Antiguo 29-11-2014
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 18
Delphitest Va por buen camino
Solucionado...

Como se suele decir, no te acostarás sin saber una cosa más.

He llegado a la conclusión que solo puedo hacer uso del parámetro una vez en la sentencia. Al probar con dos parámetros se ha solucionado el problema.

Código Delphi [-]
SQL.Add('CLI.NOMBRE LIKE :PNOM OR C.NOMBRE LIKE :PNOM2');
bOtraCondicion:= true;
Parameters.ParamByName('PNOM').Value:= '%'+Edit1.Text+'%';
Parameters.ParamByName('PNOM2').Value:= '%'+Edit1.Text+'%';

Muchas gracias por vuestra ayuda y siento haber mareado tanto con este tema

Un abrazo y buen fin de semana
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Buscar un registro por diferentes campos jafera OOP 4 27-08-2013 12:40:43
Unir el codigo y nombre de tablas diferentes Jose Manuel SQL 1 13-03-2010 11:26:38
Inserción tablas DB diferentes Delfino Firebird e Interbase 1 26-02-2010 13:54:18
Mostrar nombre de campos y filtar nombre de tablas .db en un combobox Coco_jac Varios 1 24-06-2006 01:34:29
Como buscar en diferentes tablas?? Sasuke_Cub Conexión con bases de datos 3 20-06-2005 10:40:19


La franja horaria es GMT +2. Ahora son las 15:35:51.


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
Copyright 1996-2007 Club Delphi