Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-10-2013
DOS DOS is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 173
Poder: 13
DOS Va por buen camino
Aca la declare
Código Delphi [-]
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form20: TForm20;
  c,h1,m1,s,cv:integer;
  h,m:string;
  hr:Tdatetime;
  f:Tdate;

implementation
La puse para asignar la hora y minutos elegidos por el usuario y que luego la compare con la base de datos para saber si el mismo veterinario ya había utilizado ese turno u horario.
las tablas relacionadas son las siguiente ecfisa
Turnos veterinaria
Cod_turnovet//calve principal integer
Cod_vete//relacionado con veterinario integer
Cod_propi//relacionado con el propietario integer
Cod_masc//relacionado con la mascota integer
Fecha//del turno Datetime
Hora//del turno Datetime

Mascota
Cod_mascota//clave principal integer
Cod_prop//relacionado con el propietario integer
Cod_tamaño//relacionado con tipos de tamaños integer
NombreM//nombre de la mascota
Fecha_nac //datetime
Raza //string
Color etc. //string

Propietario
Cod_prop//clave principal integer
Cod_loc//relacionado con localidades integer
ApellidoP//string
NombreP//string
Direccion etc.//string

Veterinario
Cod_vet//clave principal integer
Cod_loc//relacionado localidades integer
ApellidoV//string
NombreV//string
Direccion etc.//string

Voy a probar tu solucion tambien, a ver si la puedo aplicar
Muchas gracias a ambos.
Responder Con Cita
  #2  
Antiguo 14-11-2013
DOS DOS is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 173
Poder: 13
DOS Va por buen camino
Hola, la verdad es que todavia estoy tratando de encontrarle la vuelta a esto y no logro solucionarlo, se muy bien que ustedes nunca tiran una respuesta concisa, sino van guiando el camino(y esta muy bien), hasta que les toca alguien bruto como yo que despues del segundo intento ustedes se aburren y no le prestan mas atencion.
he estado trando de darle una vuelta de tuerca al trabajo despues de tanto tiempo y se que estoy a un pasito pero no encuentro tierra firme y como siempre o falta el codigo de algo o no esta la relacion de las tablas, bueno en el post anterior esta la relacion de las tablas y en el archivo que subo, esta todo absolutamente todo, tal vez de esa manera le sea mas facil a cualquiera que lo vea( se ponen las tres carpetas en C:\)
Les recuerdo que el tema es el mismo, crear un turno en la veterinaria, verificando que el VETERINARIO seleccionado, no tenga reservado el mismo dia y horario otro turno.
Muchas gracias a cualquiera que me pueda ayudar.
https://www.dropbox.com/s/yukzpzdh43d3x4y/ITM3.rar
Responder Con Cita
  #3  
Antiguo 15-11-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 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.

Yo creo que la solución pasa por una consulta similar a la que te mencioné en el mensaje #3. De todos modos, ese código es sólo una guía ya que en mi opinión la tabla turnos tendría que tener dos campos de hora: de inicio y fin del turno.

Estuve mirando en tus mensajes anteriores para ver con que gestor trabajas y parece que es BDE, te soy sincero no es mi fuerte. Pero te adjunto un ejemplo, a modo de guía, que incluye una tabla "TABLA_TURNOS.DB" que es similar a la que declaras en el mensaje #6 pero tiene un campo mas para la finalización del turno.

Incorporé dos veterinarios, dos fechas y distintos horarios para la prueba, el código de veterinario lo seleccionas con un TSpinEdit y el día y hora mediante dos TDateTimePicker.

Espero te dé alguna idea, saludos
Archivos Adjuntos
Tipo de Archivo: zip DOS.zip (5,1 KB, 12 visitas)
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 25-11-2013
DOS DOS is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 173
Poder: 13
DOS Va por buen camino
ecfisa disculpa que no haya contestado antes pero estoy con parciales y se me complica un poco, desde ya te agradezco tu ayuda, pero el problema no lo estoy teniendo en consultar si un turno esta o no ocupado, sino que no me guarde un nuevo turno en alguno que ya este reservado.
el problema lo tengo al guardar
Responder Con Cita
  #5  
Antiguo 25-11-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 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
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
consulta SQL varias tablas pmtzg SQL 0 02-02-2012 06:05:03
Consulta con varias tablas marilinspi SQL 4 30-10-2007 22:40:48
almacenar multiples selecciones en sql vivys27 SQL 4 02-10-2007 16:26:24
consulta de varias tablas elprimo Tablas planas 3 03-01-2007 10:23:15
¿Selecciones iguales? ixMike Varios 5 17-07-2006 19:12:52


La franja horaria es GMT +2. Ahora son las 16:49:36.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi