Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > FireMonkey
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-04-2023
Avatar de pgranados
pgranados pgranados is offline
Miembro
 
Registrado: sep 2022
Ubicación: México
Posts: 321
Poder: 5
pgranados Va por buen camino
Intenta con:

Código Delphi [-]
var i:integer;
begin 
  DataModule1.UniQueryConsultaDOC.Close; 
  DataModule1.UniQueryConsultaDOC.SQL.Text('select REGPAC, TIPODOCUMENTO,REGFICHA, INSTRUT, FICPAC from fichadoc where instrut = :INSTRUT and REGFICHA = :REGFICHA ');
  DataModule1.UniQueryConsultaDOC.ParamByName('INSTRUT').AsString := datamodule1.InstRut; 
  DataModule1.UniQueryConsultaDOC.ParamByName('REGFICHA').AsString := Label1.text; 
  DataModule1.UniQueryConsultaDOC.Open; 
  DataModule1.UniQueryConsultaDOC.First; 
  for i:= 0 to DataModule1.UniQueryConsultaDOC.RecordCount-1 do 
  begin 
    if DataModule1.UniQueryConsultaDOC.FieldByName('TIPODOCUMENTO').value = 'TRATAMIENTO' then 
    begin 
      TMSFMXToolBarButton5.Enabled := true; 
      TMSFMXToolBarButton5.Opacity := 1; 
    end 
    else 
    begin 
      TMSFMXToolBarButton5.Enabled := False; 
      TMSFMXToolBarButton5.Opacity := 0.3; 
    end; 
          
    if DataModule1.UniQueryConsultaDOC.FieldByName('TIPODOCUMENTO').value = 'EXAMEN' then 
    begin 
      TMSFMXToolBarButton6.Enabled := true; 
      TMSFMXToolBarButton6.Opacity := 1; 
    end 
    else 
    begin 
      TMSFMXToolBarButton6.Enabled := False; 
      TMSFMXToolBarButton6.Opacity := 0.3; 
    end; 
 
    if DataModule1.UniQueryConsultaDOC.FieldByName('TIPODOCUMENTO').value = 'LABORATORIO' then 
    begin 
      TMSFMXToolBarButton13.Enabled := true; 
      TMSFMXToolBarButton13.Opacity := 1; 
    end 
    else 
    begin 
      TMSFMXToolBarButton13.Enabled := False; 
      TMSFMXToolBarButton13.Opacity := 0.3; 
    end; 
 
    if DataModule1.UniQueryConsultaDOC.FieldByName('TIPODOCUMENTO').value = '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;

Última edición por Casimiro Noteví fecha: 06-04-2023 a las 18:30:21.
Responder Con Cita
  #2  
Antiguo 06-04-2023
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.714
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Es que si solamente muestra un registro es porque ¡¡¡sólo hay un registro!!!
Comprueba el select, a ver cuántos registros te devuelve.
Responder Con Cita
  #3  
Antiguo 06-04-2023
giantonti1801 giantonti1801 is offline
Miembro
 
Registrado: oct 2022
Posts: 143
Poder: 5
giantonti1801 Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Es que si solamente muestra un registro es porque ¡¡¡sólo hay un registro!!!
Comprueba el select, a ver cuántos registros te devuelve.
no funciona ahora con la solución propuesta con el programador ahora solo me retorna el ultimo registro, le envio consulta realizada por sql donde me retorna los 3 registros:
Código SQL [-]
select * from FICHADOC where INSTRUT = '27080020-6' and REGFICHA = '5' and REGPAC = '2'

Código SQL [-]
REG         REGPAC                                             TIPODOCUMENTO                                      MEDPRES                                            REGFICHA                                           INSTRUT
----------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- --------------------------------------------------
56          2                                                  LABORATORIO                                        GIANFRANCO TONTI                                   5                                                  27080020-6
52          2                                                  EXAMEN                                             GIANFRANCO TONTI                                   5                                                  27080020-6
60          2                                                  FICHA MEDICA                                       GIANFRANCO TONTI                                   5                                                  27080020-6

(3 rows affected)


Completion time: 2023-04-06T14:29:05.7620326-04:00

Última edición por giantonti1801 fecha: 06-04-2023 a las 21:29:20.
Responder Con Cita
  #4  
Antiguo 06-04-2023
Avatar de pgranados
pgranados pgranados is offline
Miembro
 
Registrado: sep 2022
Ubicación: México
Posts: 321
Poder: 5
pgranados Va por buen camino
¿Cómo que solo te retorna el ultimo registro?

Vamos a hacer esto, tu sentencia SQL
Código SQL [-]
select * from FICHADOC where INSTRUT = '27080020-6' and REGFICHA = '5' and REGPAC = '2'

Ponla directamente en el código para ver que hace.
Responder Con Cita
  #5  
Antiguo 06-04-2023
giantonti1801 giantonti1801 is offline
Miembro
 
Registrado: oct 2022
Posts: 143
Poder: 5
giantonti1801 Va por buen camino
Cita:
Empezado por pgranados Ver Mensaje
¿Cómo que solo te retorna el ultimo registro?

Vamos a hacer esto, tu sentencia SQL
Código SQL [-]
select * from FICHADOC where INSTRUT = '27080020-6' and REGFICHA = '5' and REGPAC = '2'

Ponla directamente en el código para ver que hace.
ya lo hice
Código Delphi [-]
procedure TFormReportes.StringGrid1CellClick(const Column: TColumn;
  const Row: Integer);
 var
 Filtro :string;
 i:integer;
 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.Text := 'select REGPAC, TIPODOCUMENTO,REGFICHA, INSTRUT, FICPAC from fichadoc where instrut = :INSTRUT and REGFICHA = :REGFICHA and REGPAC = :REGPAC ';
       DataModule1.UniQueryConsultaDOC.ParamByName('INSTRUT').AsString := datamodule1.InstRut;
       DataModule1.UniQueryConsultaDOC.ParamByName('REGFICHA').AsString := '5';
       DataModule1.UniQueryConsultaDOC.ParamByName('REGPAC').AsString := '2';
      DataModule1.UniQueryConsultaDOC.Open;
      DataModule1.UniQueryConsultaDOC.First;
  for i:= 0 to DataModule1.UniQueryConsultaDOC.RecordCount-1 do
  begin
    if DataModule1.UniQueryConsultaDOC.FieldByName('TIPODOCUMENTO').value = 'TRATAMIENTO' then
    begin
      TMSFMXToolBarButton5.Enabled := true;
      TMSFMXToolBarButton5.Opacity := 1;
    end
    else
    begin
      TMSFMXToolBarButton5.Enabled := False;
      TMSFMXToolBarButton5.Opacity := 0.3;
    end;

    if DataModule1.UniQueryConsultaDOC.FieldByName('TIPODOCUMENTO').value = 'EXAMEN' then
    begin
      TMSFMXToolBarButton6.Enabled := true;
      TMSFMXToolBarButton6.Opacity := 1;
    end
    else
    begin
      TMSFMXToolBarButton6.Enabled := False;
      TMSFMXToolBarButton6.Opacity := 0.3;
    end;

    if DataModule1.UniQueryConsultaDOC.FieldByName('TIPODOCUMENTO').value = 'LABORATORIO' then
    begin
      TMSFMXToolBarButton13.Enabled := true;
      TMSFMXToolBarButton13.Opacity := 1;
    end
    else
    begin
      TMSFMXToolBarButton13.Enabled := False;
      TMSFMXToolBarButton13.Opacity := 0.3;
    end;

    if DataModule1.UniQueryConsultaDOC.FieldByName('TIPODOCUMENTO').value = '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;
Responder Con Cita
  #6  
Antiguo 06-04-2023
Avatar de pgranados
pgranados pgranados is offline
Miembro
 
Registrado: sep 2022
Ubicación: México
Posts: 321
Poder: 5
pgranados Va por buen camino
Hazlo directamente así:
Código Delphi [-]
var Query:string;
begin
Query:= 'select * from FICHADOC where INSTRUT = ''27080020-6'' and REGFICHA = ''5'' and REGPAC = ''2'' ' ;
DataModule1.UniQueryConsultaDOC.Open(Query);
end;
Responder Con Cita
  #7  
Antiguo 06-04-2023
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.714
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Usa el código que te he puesto antes, el tuyo no está bien.

Código Delphi [-]
DataModule1.UniQueryConsultaDOC.Open;
DataModule1.UniQueryConsultaDOC.First;   // > sobra esto
for i:= 0 to DataModule1.UniQueryConsultaDOC.RecordCount-1 do    //  Esto dependiendo del tipo de dataset no te devuelve los registros que hay en el select, sino 1 !!!!!!!!!!
Repito, usar el código que te hemos indicado.
Responder Con Cita
  #8  
Antiguo 06-04-2023
giantonti1801 giantonti1801 is offline
Miembro
 
Registrado: oct 2022
Posts: 143
Poder: 5
giantonti1801 Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Usa el código que te he puesto antes, el tuyo no está bien.

Código Delphi [-]
DataModule1.UniQueryConsultaDOC.Open;
DataModule1.UniQueryConsultaDOC.First;   // > sobra esto
for i:= 0 to DataModule1.UniQueryConsultaDOC.RecordCount-1 do    //  Esto dependiendo del tipo de dataset no te devuelve los registros que hay en el select, sino 1 !!!!!!!!!!
Repito, usar el código que te hemos indicado.
es el mismo codigo que estoy usando incluso le estoy colocando los valore manueale
Código Delphi [-]
procedure TFormReportes.StringGrid1CellClick(const Column: TColumn;
  const Row: Integer);
 var
 Filtro :string;
 i:integer;
 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.Text := 'select REGPAC, TIPODOCUMENTO,REGFICHA, INSTRUT, FICPAC from fichadoc where instrut = :INSTRUT and REGFICHA = :REGFICHA and REGPAC = :REGPAC ';
       DataModule1.UniQueryConsultaDOC.ParamByName('INSTRUT').AsString := datamodule1.InstRut;
       DataModule1.UniQueryConsultaDOC.ParamByName('REGFICHA').AsString := '5';
       DataModule1.UniQueryConsultaDOC.ParamByName('REGPAC').AsString := '2';
      DataModule1.UniQueryConsultaDOC.Open;
//DataModule1.UniQueryConsultaDOC.First;   // > sobra esto
for i:= 0 to DataModule1.UniQueryConsultaDOC.RecordCount-1 do
  begin
    if DataModule1.UniQueryConsultaDOC.FieldByName('TIPODOCUMENTO').value = 'TRATAMIENTO' then
    begin
      TMSFMXToolBarButton5.Enabled := true;
      TMSFMXToolBarButton5.Opacity := 1;
    end
    else
    begin
      TMSFMXToolBarButton5.Enabled := False;
      TMSFMXToolBarButton5.Opacity := 0.3;
    end;

    if DataModule1.UniQueryConsultaDOC.FieldByName('TIPODOCUMENTO').value = 'EXAMEN' then
    begin
      TMSFMXToolBarButton6.Enabled := true;
      TMSFMXToolBarButton6.Opacity := 1;
    end
    else
    begin
      TMSFMXToolBarButton6.Enabled := False;
      TMSFMXToolBarButton6.Opacity := 0.3;
    end;

    if DataModule1.UniQueryConsultaDOC.FieldByName('TIPODOCUMENTO').value = 'LABORATORIO' then
    begin
      TMSFMXToolBarButton13.Enabled := true;
      TMSFMXToolBarButton13.Opacity := 1;
    end
    else
    begin
      TMSFMXToolBarButton13.Enabled := False;
      TMSFMXToolBarButton13.Opacity := 0.3;
    end;

    if DataModule1.UniQueryConsultaDOC.FieldByName('TIPODOCUMENTO').value = '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;
Archivos Adjuntos
Tipo de Archivo: rar FICHA.rar (141,8 KB, 0 visitas)
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Mostrar en un DBGRID Relacion Muchos Muchos dmassive SQL 6 12-02-2009 19:55:19
Guardar muchos muchos Tedit el-mono OOP 4 30-09-2008 07:40:33
Problemas con generadores en relacion Muchos-a-Muchos Hagen Firebird e Interbase 3 30-10-2006 17:47:51
Consulta en SQL con muchos parámetros Aprendiendo SQL 5 05-04-2005 23:30:13
Consulta SQl, relacion 1 a muchos Walter SQL 3 15-07-2003 04:13:28


La franja horaria es GMT +2. Ahora son las 18:28:31.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi