![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#4
|
|||
|
|||
|
yo lo hago de la siguiente manera, espero te sirva:
cargo las listas con una funcion: cargaPacientes(cbNombres); // aqui mando cargar en el combo los nombres de los pacientes por ejemplo y la funcion es algo parecido a esto: Procedure CargaPacientes(Pacientes: TComboBox); begin sql:='Select id_paciente as ID, nombres || '' '' || paterno || '' '' || materno as Nombre'+ ' From SS_C_PACIENTE Where fecha_baja is null order by 1'; EjecutaSQL(md.ADOQuery,sql,true); Pacientes.Clear; while not md.ADOQuery.Eof do begin Pacientes.Add(md.ADOQuery.FieldByName('Nombre').AsString, md.ADOQuery.FieldByName('ID').AsString); // aqui tienes que cambiar algo para que jale md.ADOQuery.Next; end; end; luego cuando cambio de paciente hago lo siguiente: sql:='select Importe_Sesion '+ ' from SS_C_EMPLEADO_IMPORTE_PAGO IP '+ ' join SS_C_EMPLEADO E on (IP.ID_EMPLEADO=E.ID_EMPLEADO) '+ ' join SS_C_PACIENTE P on (P.ID_TERAPEUTA=E.ID_EMPLEADO) '+ ' where P.ID_PACIENTE='+ cbNombres.CurrentID; // aqui tienes que modifica pa que te jale EjecutaSQL(md.ADOQuery,sql,true); // en lugar de asignar todos los valores hice una funcionsita if not md.ADOQuery.Eof then begin edImporte.Text:= md.ADOQuery.FieldByName('Importe_Sesion').AsString; MontoTerapia:= md.ADOQuery.FieldByName('Importe_Sesion').AsInteger; end else edImporte.Text:=''; Y asi todo queda de forma manual y cuando por ejemplo ELIMINAS un registro vuelves a mandar a traer a la primer funcion cargaPacientes(cbNombres); y primero limpia el combobox y luego carga los pacientes, de esa forma YA NO VERAS INFORMACION ELIMINADA. te repito es como yo lo hago, no se si te sirva, espero que si, saludos!!! ![]() |
|
|
|