Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-04-2004
Avatar de JamesBond_Mx
JamesBond_Mx JamesBond_Mx is offline
Miembro
 
Registrado: jul 2003
Ubicación: Poza Rica, Veracruz, México
Posts: 81
Poder: 21
JamesBond_Mx Va por buen camino
Resolví el problema, haciendo lo de las tablas temporales.

Gracias.
Responder Con Cita
  #2  
Antiguo 30-04-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Algo complicado ¿no? Como dice jachguate simplemente tienes que armar al vuelo una consulta SELECT construyendo la condición WHERE de acuerdo a los valores de los Combos. Pienso que además el rendimiento será mucho más eficiente.

// Saludos
Responder Con Cita
  #3  
Antiguo 30-04-2004
Avatar de JamesBond_Mx
JamesBond_Mx JamesBond_Mx is offline
Miembro
 
Registrado: jul 2003
Ubicación: Poza Rica, Veracruz, México
Posts: 81
Poder: 21
JamesBond_Mx Va por buen camino
Lo porbaré, pero que pasa si en las opciones de los combos hay una que no es valor que exista en la tabla, por ejemplo, la palabra "Todos", esto me indicaría que quiero todos los registros de este campo, pero si el Query busca el valor "todos", dentro de la tabla, obviamente que no va a encontrar nada y la consulta me la va a regresar vacía, Por ejemplo digamos:

El primer Combo se selecciona la opción X (que si existe como valor en la tabla)
El segundo Combo Elijo La Opción Y (Que también Existe)
El tercer Combo se elige La Opción "Todos" (Esta no existe)
Y el cuarto Combo Se elige la opcion Z (que también existe)

Por culpa de la tercera opción el Query me saldría Vació, y no es ese el resultado esperado.

Me explique??
Responder Con Cita
  #4  
Antiguo 30-04-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por JamesBond_Mx
Me explique??
No. Porque el resultado sí es el esperado conforme a tu mensaje original. Tú hablaste de hacer "filtros sobre filtros", aplicar un filtro a lo ya filtrado.

En el ejemplo que expones, al aplicar el tercer filtro sobre los dos anteriores es entonces lógico que no te de resultados no habiendo registros que satisfagan la condición.

¿No estás confundiendo ors con ands? Tal como lo planteaste en el primer mensaje las condiciones de cada combo se unen con una conjunción lógica AND- debe cumplir todas las condiciones. Quizá lo que buscas es unirlos con un OR- cumple alguna de las condiciones.

// Saludos
Responder Con Cita
  #5  
Antiguo 30-04-2004
Avatar de JamesBond_Mx
JamesBond_Mx JamesBond_Mx is offline
Miembro
 
Registrado: jul 2003
Ubicación: Poza Rica, Veracruz, México
Posts: 81
Poder: 21
JamesBond_Mx Va por buen camino
Bueno, Trataré de explicarmen mejor
El query lo hago En Base a 4 Campos, El campo estado, el cual en la tabla de donde toma los datos tiene dos posibles valores, Corregida y Pendiente, yo agrego una tercera opción que sería Todos, donde quiero decir que quiero que me traiga todos los registros de la tabla sin importar su estado, para empezar si elijo esta tercera opción ya el query saldría vacio, y no es eso lo que quiero, pues lo que quiero es que primero tome todos los registros existentes. Ahora supongamos que eligo un valor valido para el primer campo, digamos Corregida, para el segundo campo El cual se llama Supervisor, existen Seis valores posibles, que son 6 nombres de personas, pero también como en el primero agrego una opción más que es Todos, digamos que mi tabla tiene 1202 registros de estos 550 son corregidas, si yo elijo el valor Todos para el segundo campo, el Query queadría vacío, puesto que no existe en la tabla ningún valor Todos , y cosa que sería falsa pues existen 550 registros, y lo mismo ocurriría con los otros dos campos.

Espero haberme dado a entender.
Responder Con Cita
  #6  
Antiguo 30-04-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pues simplemente a la hora de construir la condición del WHERE te fijas si el combo dice Todos y en tal caso excluyes la condición sobre el campo estado de la consulta.

// Saludos
Responder Con Cita
  #7  
Antiguo 30-04-2004
Avatar de JamesBond_Mx
JamesBond_Mx JamesBond_Mx is offline
Miembro
 
Registrado: jul 2003
Ubicación: Poza Rica, Veracruz, México
Posts: 81
Poder: 21
JamesBond_Mx Va por buen camino
En eso habia pensado y es lo que estoy probando en este momento precisamente, o sea si el valor es Todod, que no filtre el Query, y se vaya al siguiente campo y así. en cadena... estoy haciendo pruebas.

Gracias.
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


La franja horaria es GMT +2. Ahora son las 10:05:24.


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