Ver Mensaje Individual
  #3  
Antiguo 07-10-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola DOS.

No conozco la conformación de las tablas, nombres, tipos y relación entre los campos como para conocer todas las soluciones posibles.

Pero si deseas saber si un turno no está asignado a un veterinario en determinada fecha y hora de este modo tiene que funcionar:
Código Delphi [-]
function  TForm20.TurnoLibre(const cVet: Integer; const Fecha: TDate; Hora: TTime): Boolean;
begin
  with Query do  
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT COD_TURNO_VET FROM TABLA_TURNOS');
    SQL.Add('WHERE COD_VETE = :PVET AND FECHA = :PFECHA AND HORA = :PHORA');
    ParamByName('PVET').AsInteger := cVet;
    ParamByName('PFECHA').AsDate  := Fecha;
    ParamByName('PHORA').AsTime   := Hora;
    Open;
    Result := Query1.IsEmpty;
    Close;
  end;
end;

Ejemplo de uso:
Código Delphi [-]
procedure TForm20.BitBtn4Click(Sender: TObject);
begin
  if TurnoLibre(CodigoVeterinario_Leido, Fecha_Leida, Hora_Leida) then 
  begin
    //El turno esta libre, guardar los datos, etc, etc...
    ...
  end  
  else
    ShowMessage('El turno está ocupado')

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 07-10-2013 a las 00:34:13.
Responder Con Cita