Hola DOS.
Pero en definitiva, primero tenes que saber si el turno está libre u ocupado para luego permitir o no el guardado... Es decir que con muy poco trabajo se puede modificar el código del adjunto anterior para hacer algo como por ejemplo:
Código Delphi
[-]
function TForm1.IsTurnFree(const Vet: Integer; const Fecha: TDate; const Hora: TTime): Boolean;
begin
with qryTmp do
begin
Close;
SQL.Clear;
SQL.Add('SELECT COD_TURNOVET FROM TABLA_TURNOS');
SQL.Add('WHERE COD_VETE = :PVET AND FECHA = :PFECHA');
SQL.Add('AND HORA_INI <= :PHORA AND HORA_FIN >= :PHORA');
ParamByName('PVET').AsInteger:= Vet;
ParamByName('PFECHA').AsDate := Fecha;
ParamByName('PHORA').AsTime := Hora;
Open;
Result := IsEmpty;
end;
end;
procedure TForm1.btnGuardarClick(Sender: TObject);
begin
if not IsTurnFree(SpinEdit1.Value, dtpFecha.Date,dtpHora.Time) then
ShowMessage('Turno ocupado')
else
begin
end;
end;
Saludos