Ver Mensaje Individual
  #10  
Antiguo 06-04-2023
giantonti1801 giantonti1801 is offline
Miembro
 
Registrado: oct 2022
Posts: 143
Reputación: 2
giantonti1801 Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Yo creo que es esto.
En tu código sólo estás realizando los cambios sobre el registro actual (que debería ser el primero), pero en ningún momento estás haciendo un recorrido por todos los registros de un cliente.

Una vez hecho el Active, que ejecuta la consulta o abre la tabla, debería haber algo así:

Código Delphi [-]
// Activar el dataset (se posiciona en el primero)
DataModule1.UniQueryFichaDoc.Active := true; 
// mientras haya registros en el dataset...
while not DataModule1.UniQueryFichaDoc.eof do begin

  // hacer lo que sea con el regiustro activo...
  ... 
  // siguiente registro
  DataModule1.UniQueryFichaDoc.Next;
end;
Hola amigos realice todo tipo de pruebas pero con el mismo resultado solo me trae el primer registro por alguna razón el filtro no esta buscando el siguiente registro para evaluarlo. envio el codigo a ver si ustedes me ayudan a edintificar el porque siempre hace la consulta al primer registro:
Código Delphi [-]
 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;
      //
      DataModule1.UniQueryConsultaDOC.Close;
      DataModule1.UniQueryConsultaDOC.sql.Clear;
      DataModule1.UniQueryConsultaDOC.sql.Add('select REGPAC, TIPODOCUMENTO,REGFICHA, INSTRUT, FICPAC from fichadoc');
      DataModule1.UniQueryConsultaDOC.SQL.Add('where instrut = :INSTRUT and REGFICHA = :REGFICHA');
      DataModule1.UniQueryConsultaDOC.ParamByName('INSTRUT').AsString := datamodule1.InstRut;
      DataModule1.UniQueryConsultaDOC.ParamByName('REGFICHA').AsString := Label1.text;
      //**DataModule1.UniQueryConsultaDOC.ParamByName('TIPODOCUMENTO').AsString := 'TRATAMIENTO';
      //**DataModule1.UniQueryConsultaDOC.ParamByName('TIPODOCUMENTO').AsString := 'EXAMEN';
      //**DataModule1.UniQueryConsultaDOC.ParamByName('TIPODOCUMENTO').AsString := 'LABORATORIO';
      //**DataModule1.UniQueryConsultaDOC.ParamByName('TIPODOCUMENTO').AsString := 'FICHA MEDICA';
      DataModule1.UniQueryConsultaDOC.open;
      DataModule1.UniQueryConsultaDOC.First;
      while not DataModule1.UniQueryConsultaDOC.eof do


         begin
           if DataModule1.UniQueryConsultaDOCTIPODOCUMENTO.AsString = 'TRATAMIENTO' then
                begin
                TMSFMXToolBarButton5.Enabled := true;
                TMSFMXToolBarButton5.Opacity := 1;
                end
                else
                begin
                TMSFMXToolBarButton5.Enabled := False;
                TMSFMXToolBarButton5.Opacity := 0.3;
                end;
         //DataModule1.UniQueryConsultaDOC.Next;
         //end;

         //begin
            if DataModule1.UniQueryConsultaDOCTIPODOCUMENTO.AsString = 'EXAMEN' then
                begin
                TMSFMXToolBarButton6.Enabled := true;
                TMSFMXToolBarButton6.Opacity := 1;
                end
                else
                begin
                TMSFMXToolBarButton6.Enabled := False;
                TMSFMXToolBarButton6.Opacity := 0.3;
                end;
         //       DataModule1.UniQueryConsultaDOC.Next;
         //end;

         //begin
            if DataModule1.UniQueryConsultaDOCTIPODOCUMENTO.AsString = 'LABORATORIO' then
                begin
                TMSFMXToolBarButton13.Enabled := true;
                TMSFMXToolBarButton13.Opacity := 1;
                end
                else
                begin
                TMSFMXToolBarButton13.Enabled := False;
                TMSFMXToolBarButton13.Opacity := 0.3;
                end;
         //       DataModule1.UniQueryConsultaDOC.Next;
         //end;

         //begin
            if DataModule1.UniQueryConsultaDOCTIPODOCUMENTO.AsString = 'FICHA MEDICA' then
                begin
                TMSFMXToolBarButton17.Enabled := true;
                TMSFMXToolBarButton17.Opacity := 1;
                end
                else
                begin
                TMSFMXToolBarButton17.Enabled := False;
                TMSFMXToolBarButton17.Opacity := 0.3;
                end;

            DataModule1.UniQueryConsultaDOC.Next;
         end;
           //
      //end;
         //      DataModule1.UniQueryConsultaDOC.Next;
 end;
Responder Con Cita