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 05-06-2010
kiozo kiozo is offline
Registrado
 
Registrado: jun 2010
Posts: 8
Poder: 0
kiozo Va por buen camino
guardar y determinar días entre rango de fechas..!!

hola que tal espero me puedan ayudar con mi problema!!

tengo una tabla que se llama viaticos..!! manejo fecha_inicial y fecha_final de los dias que el empleado saldra...!! si su fecha_inicial es el 07/03/2010 y fecha_final 10/03/2010 ..necesito guardar las fechas entre esos dias..! para el determinado empleado...!!

que se guarden..!

07/03/2010
08/03/2010
09/03/2010
10/03/2010...

espero su ayuda..!!
Responder Con Cita
  #2  
Antiguo 05-06-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Lo quiéres en delphi?, ¿en sql?, si es en sql, ¿para qué base de datos?
Responder Con Cita
  #3  
Antiguo 05-06-2010
kiozo kiozo is offline
Registrado
 
Registrado: jun 2010
Posts: 8
Poder: 0
kiozo Va por buen camino
lo quiero en delphi7... estoy manejando sql server 2000!!
Responder Con Cita
  #4  
Antiguo 05-06-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Lo mejor en este caso es hacerlo desde la base de datos, mediante un procedimiento o trigger, aunque desde delphi puedes hacerlo usando un bucle que vaya aumentando la fecha inicial hasta que se iguale con la fecha final, para ello puedes usar la función: IncDay
Le pasas una fecha y el número de días que quieres aumentarla y te devuelve esa fecha que corresponda,

fechamanana := IncDay(fechahoy,1);
Responder Con Cita
  #5  
Antiguo 05-06-2010
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.488
Poder: 20
MAXIUM Va camino a la fama
Cita:
Empezado por Casimiro Notevi Ver Mensaje
fechamanana := IncDay(fechahoy,1);
Código Delphi [-]
fechaayer := IncDay(fechahoy,-1);
Responder Con Cita
  #6  
Antiguo 06-06-2010
kiozo kiozo is offline
Registrado
 
Registrado: jun 2010
Posts: 8
Poder: 0
kiozo Va por buen camino
Encontre una manera de hacerlo..!!

Cita:
Empezado por Casimiro Notevi Ver Mensaje
Lo mejor en este caso es hacerlo desde la base de datos, mediante un procedimiento o trigger, aunque desde delphi puedes hacerlo usando un bucle que vaya aumentando la fecha inicial hasta que se iguale con la fecha final, para ello puedes usar la función: IncDay
Le pasas una fecha y el número de días que quieres aumentarla y te devuelve esa fecha que corresponda,

fechamanana := IncDay(fechahoy,1);
Encontre una manera de hacerlo... pero ahora el problema es como comparar las fechas para que no me guarde fechas repetidas de un empleado...! trabaje con un memo no se si haya otra forma de hacerlo..!


Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
  FechaIni,FechaFin: Tdatetime;
  Fecha: string;
begin
   ShortDateFormat := 'dd/mm/yyyy';
  fechaIni :=  strtodate('07/03/2010');
  fechaFin := strtodate('10/03/2010');
   for i := trunc(fechaIni) to trunc(FechaFin) do
  begin
    Fecha  := datetostr(i);
    Memo1.lines.Add(fecha)
  end;
end;

Última edición por kiozo fecha: 06-06-2010 a las 01:53:23.
Responder Con Cita
  #7  
Antiguo 06-06-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Si lo vas a guardar en la base de datos, no tienes problemas ya que puedes crear un campo índice y único para el par de campos "usuario" y "fecha"
Responder Con Cita
  #8  
Antiguo 06-06-2010
kiozo kiozo is offline
Registrado
 
Registrado: jun 2010
Posts: 8
Poder: 0
kiozo Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Si lo vas a guardar en la base de datos, no tienes problemas ya que puedes crear un campo índice y único para el par de campos "usuario" y "fecha"


disculpa mi ignorancia..! soy nueva en esto... pero me podrias dar un ejemplo para crear un indice unico para dos campos..???...en este caso usuario y fecha
Responder Con Cita
  #9  
Antiguo 06-06-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No conozco MS Sql, pero supongo que será como cualquier otra BD sql, tendrás una opción para crear índices, le indicas los campos, y listo.

De todas formas, búscate información sobre procedimientos almacenados "store procedure", es mucho más cómodo y rápido hacerlo así que no en delphi.
Responder Con Cita
  #10  
Antiguo 07-06-2010
kiozo kiozo is offline
Registrado
 
Registrado: jun 2010
Posts: 8
Poder: 0
kiozo Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
No conozco MS Sql, pero supongo que será como cualquier otra BD sql, tendrás una opción para crear índices, le indicas los campos, y listo.

De todas formas, búscate información sobre procedimientos almacenados "store procedure", es mucho más cómodo y rápido hacerlo así que no en delphi.

segui tu consejo..! y logre que funcionara mi proceso..!! gracias..!!
Responder Con Cita
  #11  
Antiguo 07-06-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Me alegro mucho
Responder Con Cita
  #12  
Antiguo 20-06-2010
Avatar de GerTorresM
GerTorresM GerTorresM is offline
Miembro
 
Registrado: nov 2005
Ubicación: Tunja - Boyacá
Posts: 210
Poder: 19
GerTorresM Va por buen camino
establece número de días entre dos fechas

te suguiero que uses esta función - DaysBetween(dtNow, dtBirth);

Código Delphi [-]
 var dtNow, dtBirth : TDateTime;
    DaysFromBirth : integer;

dtNow := Now;
dtBirth := EncodeDate(1973, 1, 29);
DaysFromBirth := DaysBetween(dtNow, dtBirth);

gertorresm
Colombia

Última edición por marcoszorrilla fecha: 20-06-2010 a las 19:36:49.
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 Mysql Suma entre rango de fechas kaeltas MySQL 4 22-06-2012 21:30:44
Determinar dias entre dos fechas OscarRd Varios 6 06-08-2007 12:26:00
Días entre de dos fechas ? lucasarts_18 HTML, Javascript y otros 1 26-07-2007 22:49:53
Diferencia en dias entre dos fechas. AMINOA2R Firebird e Interbase 2 15-12-2005 15:58:37
dias entre dos fechas davidgaldo Varios 5 19-05-2005 21:02:03


La franja horaria es GMT +2. Ahora son las 01:43:27.


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