Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-10-2012
wull wull is offline
Miembro
NULL
 
Registrado: may 2012
Posts: 30
Poder: 0
wull Va por buen camino
Question Problema al evaluar varias sentencias usando If y AND

Hola a todos de nuevo; según yo estaba a punto de terminar un pequeño proyecto pero descubrí un error, que después de varias pruebas pude identificar pero no halle solución. Estoy tratando de hacer una reporte con varias parámetros, uso adoquery y varios radiogroup para obtener de ahí los parámetros.

Estoy tratando con este codigo
Código Delphi [-]
  if ((RGanio.ItemIndex >-1) and (RGmes.ItemIndex >-1) and (RGstatus.ItemIndex >-1) and (RGregion.ItemIndex >-1)) then
    begin
      with Myquery do
        begin
          Close;
          SQL.Text:= 'SELECT * FROM DATOS WHERE ANIORECEP=:PANIO AND MESRECEP=:PMES AND STATUS=:PSTATUS AND REGION=:PREGION';
          Parameters.ParamByName('PANIO').Value:=RGanio.Items[RGanio.ItemIndex];
          Parameters.ParamByName('PMES').Value:=RGmes.Items[RGmes.ItemIndex];
          Parameters.ParamByName('PSTATUS').Value:=RGstatus.Items[RGstatus.ItemIndex];
          Parameters.ParamByName('PREGION').Value:=RGregion.Items[RGregion.ItemIndex];
          Open;
        end; // fin de with
        Myreport.ShowReport(True);
    end; // fin de if

El error, que segun yo, detecte es que el reporte me muestra datos erroneos porque solo esta tomando en cuenta el primer dato, es decir si selecciono año: 2012, mes: enero, status: on region: centro, lo que seri equivalente a decir en SQL algo asi
Código SQL [-]
slect * from mitabla where anio=2012 and mes=enero and status = on and region=centro
la cosa es que cuando el año cumple la condición ya no toma en cuenta las otras condiciones, es decir mientras el año sea 2012 me muestra todos los datos aunque no coincida con lo que estoy pidiendo; pero cuando el valor año no cumple la condición no me muestra nada; no entiendo porque me esta haciendo esto; no se si es problema del if o de SQL.. espero que me entiendan y me puedan ayudar.
Responder Con Cita
 



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
ejecucion de varias sentencias StartKill PHP 1 08-02-2008 02:30:05
Ejecutar varias sentencias en MySQL DTAR SQL 2 23-10-2006 19:11:21
Problema al evaluar una expresión matemática JesusG Varios 2 08-09-2006 15:41:46
Realizar varias sentencias SQL a la vez walace_soy SQL 3 23-09-2004 12:15:17
varias sentencias CREATE en el mismo SCRIPT ronson Firebird e Interbase 17 18-02-2004 18:26:37


La franja horaria es GMT +2. Ahora son las 22:33:53.


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