Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Periodo de fechas (https://www.clubdelphi.com/foros/showthread.php?t=92358)

Rc96 06-10-2017 16:17:00

Periodo de fechas
 
Hellou otra vez yo, pregunto....En mi sistema yo debo programar visitas que hayan de venir a la empresa, ahora la idea es que yo pueda darle a los clientes la opcion de programarla con un periodo de tiempo por ejemplo programo que vendra hoy 06/10 y que vendra seguido hasta el 09/10... ¿Como puedo programar una visita en mi sistema desde una fecha a otra y que al consultar las programaciones me refleje que la visita tiene cita, por ejemplo, 06/10/17, el 07, el 08 y el 09? :confused:. Espero haberme explicado bien. Espero sus respuesta GRacias.

Casimiro Notevi 06-10-2017 18:01:04

Como siempre, te explicas como si fuésemos adivinos. No conocemos tu sistema, tu base de datos, tu código, tu idea, tu objetivo, ... no sabemos nada, solamente podemos imaginar de lo que puedes necesitar, pero son muchas posibilidades y opciones, por eso tienes que explicarte detalladamente.
Creo que no has leido todavía nuestra guía de estilo.

Rc96 06-10-2017 19:30:01

Voy nuevamente para comodidad de los lectores.
En mi sistemas programo visitas para determinada fecha y la guardo en mi Bade de datos.
Debo tambien dejar la opcion abierta de poder programar una visita que vendra no por un solo dia sino por ejemplo desde hoy 06 hasta el 10 de octubre.
En el sistema tengo un modulo donde consultando a la tabla y veo quienes vienen hoy y asi le doy el acceso. pero lo que no se y por ende acudo a ustedes es que si la visita esta programada para venir desde desde hoy 06 hasta el 10 el sistema al ver la programaciones del dia muestre que el dia 6,7,8,9 y 10 la persona tiene autorizacion de entrar. algo asi como calcular las fechas que hay entre 06/10 al 10/10.
Uso Delphi10.2 + Firedac + Postgresql
No tengo codigo pues no lo he hecho, imagine hacerlo con una rutuna sql between pero se que eso no funcionario, ahora no se si me equivoco.

movorack 06-10-2017 21:58:03

Mira, si no haz hecho nada lo que toca es que hagas algo: un diseño, unos primeros pasos. Eso te irá mostrando como puedes abordar los temas específicos.
Pero si vienes a preguntarnos como debes diseñar tu aplicación, de paso danos el correo para enviarte la cotización.

mRoman 13-10-2017 16:53:43

Cita:

Empezado por Rc96 (Mensaje 521616)
Voy nuevamente para comodidad de los lectores.
En mi sistemas programo visitas para determinada fecha y la guardo en mi Bade de datos.
Debo tambien dejar la opcion abierta de poder programar una visita que vendra no por un solo dia sino por ejemplo desde hoy 06 hasta el 10 de octubre.
En el sistema tengo un modulo donde consultando a la tabla y veo quienes vienen hoy y asi le doy el acceso. pero lo que no se y por ende acudo a ustedes es que si la visita esta programada para venir desde desde hoy 06 hasta el 10 el sistema al ver la programaciones del dia muestre que el dia 6,7,8,9 y 10 la persona tiene autorizacion de entrar. algo asi como calcular las fechas que hay entre 06/10 al 10/10.
Uso Delphi10.2 + Firedac + Postgresql
No tengo codigo pues no lo he hecho, imagine hacerlo con una rutuna sql between pero se que eso no funcionario, ahora no se si me equivoco.

Sinceramente es algo muy abstracto entederlo ya que solo lo entiende el q lo hace (Picasso). Estoy comprendiendo con la lectura de tu escrito, que como no sabes como atacar tu problema, pues te cuesta transmitir lo que exactamente quieres y por consecuencia nosotros no entendemos q quieres exactamente.

Seria mucha mas fácil q por ejemplo nos dijeras como tienes estructurada tu base de datos, o la tabla principal. Mencionas que tiene un modulo donde consultas quienes vienen hoy....como tienen estructurada esa tabla?

El campo donde almancenas la fecha, de q tipo de datos es?, me da la impresión de que tienes 2 campos fecha donde registras la fecha de inicio y la fecha final....pero NO LAS FECHAS INTERMEDIAS!!...es asi?, si lo tienes asi pues se me ocurre algo como esto:


Código:

v_fecha_inicial=campo_fecha_inicio_tabla
while v_fecha_inicial<=campo_fecha_final_tabla
begin
      v_fecha_inicial=v_fecha_inicial+1;
      if v_fecha_inicial=hoy then
      begin
            Showmessage('Hoy tiene autorizacion para entrar');
      end;
end;

(el código es solo la idea, nada q ver con delphi aunq lo parezca)

Algo asi....pero como no te has explicado mas detalladamente con respecto a cuestiones técnicas, como estuctura de tablas, como ingresas los datos, en q quieres q se muestren los datos, como quieres controlar lo que quieres: con instrucciones de SQL o por código....EN FIN SON MUCHAS OPCIONES COMO YA TE COMENTARON !!...

Saludos....y de verdad queremos apoyarte a solucionar esto, pero danos mas información.

FUERZAMEXICO !

roman 13-10-2017 19:47:54

Cita:

Empezado por Rc96 (Mensaje 521616)
Voy nuevamente para comodidad de los lectores.
En mi sistemas programo visitas para determinada fecha y la guardo en mi Bade de datos.
Debo tambien dejar la opcion abierta de poder programar una visita que vendra no por un solo dia sino por ejemplo desde hoy 06 hasta el 10 de octubre.
En el sistema tengo un modulo donde consultando a la tabla y veo quienes vienen hoy y asi le doy el acceso. pero lo que no se y por ende acudo a ustedes es que si la visita esta programada para venir desde desde hoy 06 hasta el 10 el sistema al ver la programaciones del dia muestre que el dia 6,7,8,9 y 10 la persona tiene autorizacion de entrar. algo asi como calcular las fechas que hay entre 06/10 al 10/10.

Pues, lo primero sería tener claro cómo modelar esto en tu base, creo yo.

Mencionas clientes y visitas; así que, de entrada necesitas esas dos tablas. Cada cliente puede tener varias visitas registradas pero, supongo, cada visita corresponderá a un sólo cliente. Por otra parte mencionas que cada visita puede constar de más de un día. Podrías pensar en un rango de días pero sería más flexible pensar en días no necesariamente contiguos (porque se atraviesa el fin de semana, o porque el cliente no puede el jueves, o por lo que sea). Entonces requerirás una tercera tabla que registre los días que conforman cada visita.

Aquí un esquema simplificado:


Mediante un

Código SQL [-]
SELECT cliente.nombre, visita.id
FROM visita, diasVisita, cliente
WHERE visita.id = diasVisita.visitaId and visita.clienteId = cliente.id and diasVisita.fecha = <<hoy>>

obtendrías la lista de clientes que visitarán el día de hoy. Y luego, si seleccionas uno podrás examinar el ID de la visita para conocer los otros días que viene:

Código SQL [-]
SELECT fecha
FROM diasVisita
WHERE visitaId = <<ID de la visita>>

LineComment Saludos


La franja horaria es GMT +2. Ahora son las 20:55: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