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
...
end
else
ShowMessage('El turno está ocupado')
Saludos