Ver Mensaje Individual
  #10  
Antiguo 25-11-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.

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;

// Guardar un turno
procedure TForm1.btnGuardarClick(Sender: TObject);
begin
  if not IsTurnFree(SpinEdit1.Value, dtpFecha.Date,dtpHora.Time) then
    ShowMessage('Turno ocupado')
  else
  begin
     // Guardar el turno...
  end;
end;

Saludos
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 25-11-2013 a las 19:51:50.
Responder Con Cita