Ver Mensaje Individual
  #1  
Antiguo 05-04-2023
giantonti1801 giantonti1801 is offline
Miembro
 
Registrado: oct 2022
Posts: 143
Reputación: 2
giantonti1801 Va por buen camino
Consulta con muchos if

amigo tengo una situación: debo hacer una consulta a una tabla de la base de dato sql Server donde puede haber varios resultado y todos pueden ser valido: a ver si logro explicarme bien:
En una tabla tengo una columna la cual se almacena una información: (TRATAMIENTO, EXAMEN, LABORATORIO, FICHA MEDICA) en otra columna de este misma está el número de cliente. Ahora bien: Partimos de un principio que un cliente puede tener un TRATAMIENTO o un EXAMEN, o un LABORATORIO o FICHA MEDICA pero en muchos casos un solo cliente puede tener 3 o incluso todas las condiciones. me problema es que si el cliente tiene un solo caso me funciona perfecto pero cuando tienes varios casos siempre me trae solo uno. Le muestro un ejemplo de la tabla:

Código SQL [-]
CLIENTE       TIPO
    1              Tratamiento
    1              Laboratorio
    1              EXAMEN
    2              Tratamiento

Espero se pueda entender bien y finalmente esta es el codigo que estoy usando:
Código Delphi [-]
var
 Filtro :string;
 begin
      DataModule1.UniQueryFichaDoc.Filtered := False;
      Filtro := 'INSTRUT = '''+DataModule1.InstRut+'''and REGFICHA = '''+label1.Text+'''';
      DataModule1.UniQueryFichaDoc.Filter := Filtro;
      DataModule1.UniQueryFichaDoc.Filtered := True;
      DataModule1.UniQueryFichaDoc.Active := true;
      begin
          if DataModule1.UniQueryFichaDocTIPODOCUMENTO.AsString = 'TRATAMIENTO' then
                begin
                TMSFMXToolBarButton5.Enabled := true;
                TMSFMXToolBarButton5.Opacity := 1;
                end
                else
                begin
                TMSFMXToolBarButton5.Enabled := False;
                TMSFMXToolBarButton5.Opacity := 0.3;
                end;
            if DataModule1.UniQueryFichaDocTIPODOCUMENTO.AsString = 'EXAMEN' then
                begin
                TMSFMXToolBarButton6.Enabled := true;
                TMSFMXToolBarButton6.Opacity := 1;
                end
                else
                begin
                TMSFMXToolBarButton6.Enabled := False;
                TMSFMXToolBarButton6.Opacity := 0.3;
                end;
            if DataModule1.UniQueryFichaDocTIPODOCUMENTO.AsString = 'LABORATORIO' then
                begin
                TMSFMXToolBarButton13.Enabled := true;
                TMSFMXToolBarButton13.Opacity := 1;
                end
                else
                begin
                TMSFMXToolBarButton13.Enabled := False;
                TMSFMXToolBarButton13.Opacity := 0.3;
                end;
            if DataModule1.UniQueryFichaDocTIPODOCUMENTO.AsString = 'FICHA MEDICA' then
                begin
                TMSFMXToolBarButton17.Enabled := true;
                TMSFMXToolBarButton17.Opacity := 1;
                end
                else
                begin
                TMSFMXToolBarButton17.Enabled := False;
                TMSFMXToolBarButton17.Opacity := 0.3;
                end;

          end;


 end;
Responder Con Cita