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 01-05-2012
Avatar de microbiano
microbiano microbiano is offline
Miembro
 
Registrado: sep 2008
Ubicación: Mexico D.F
Posts: 349
Poder: 16
microbiano Va por buen camino
Smile Ayuda con Saber si una fecha es menor a la fecha del Servidor

bien resulta que quiero comparar la fecha que tengo registrada en el sistema conla fecha del servidor, y si es menor entonces modifique una columna de pago tardio, pero no logro ahcer que funcione. lo hago de la isguiente manera.

obtengo la fecha del Servidor asi.

WFechaServidor:TDate;

Código Delphi [-]
procedure TFmodulo.FechaServidor;
var I:Integer;
begin
 with Fmodulo.QryTemp do
  begin
   close;
   sql.Clear;
   SQL.Add('SELECT CONVERT(VARCHAR(10), GETDATE(), 103) AS [Fecha]');
   try
    Open;
    if (not Eof) then
     begin
      wfechaservidor:=StrToDate(FieldByname('Fecha').AsString);//aqui pongo la fecha del servidor
      DecodeDate(Wfechaservidor,anio,Mes,Dia);
      if Anio<>0 then
       begin
        wanioString:=IntToStr(Anio);
       end;
     end;
   except
    on E:EOleException do
     begin
       MessageDlg(Format('Error: %s    Codigo: %d', [E.Message, E.ErrorCode]), mtError, [mbOK], 0);
     end;      
   end;
  end;
end;

y entonces despues genero 12 recibos en un modulo de cuentas por cobrar y para poder modificar la situacion de cada recibo lo hago de la siguiente manera.

Código Delphi [-]
function tfrmrecibos.CargaMeses(IdContrato:string):string;
var wStatus:string;
    WfechaRegistro:TDate;
begin
 with fmodulo.QryTemp do
  begin
   Close;
   sql.Clear;
   sql.Add('select * from sap_prerecibos');
   sql.Add('where nocontrato=:Pnocontrato and fechaPago is null');
   Parameters.ParamByName('Pnocontrato').Value:=Idcontrato;
   try
    Open;
    while (not Eof) do
    begin
     cbb_1.Items.Add(FieldByname('concepto').AsString);
     WfechaRegistro:=(FieldByName('fechafinpago').AsDateTime);
     if Trunc(WfechaRegistro) < trunc(Fmodulo.WFechaServidor) then //aqui es donde hago la validacion pero no funciona me cambia la columna de todos los registros aqui valida la fecha de fin de pago que son 12 recibos de enero a diciembre y fechafin de pago es el 30 de cada mes
      wStatus:='S';
      begin
       with Fmodulo. QryTemporal do
        begin
         SQL.Clear;
         SQL.Add('update sap_prerecibos set interes=status');
         SQL.Add('where nocontrato=contrato and FechaPago is null');
         Parameters.ParamByName('Pcontrato').Value:=Idcontrato;
         Parameters.ParamByName('Pstatus').Value:=Trim(wStatus);
         ExecSQL;
        end;
      end;
     Next;
    end;
    
   except
    on e:eoleException do
     begin

     end;  
   end;
  end;   
end;

alguna sugerencia? de antemano muchas gracias
Responder Con Cita
  #2  
Antiguo 01-05-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Si usas firebird, puedes extraer la fecha directamente desde la base de datos:

Código SQL [-]
select CURRENT_DATE from RDB$DATABASE

Sólo la fecha: CURRENT_DATE
Sólo la hora: CURRENT_TIME
Fecha y hora: CURRENT_TIMESTAMP

Supongo que en otras bases de datos tendrás posibilidad de hacer algo parecido.
Responder Con Cita
  #3  
Antiguo 01-05-2012
Avatar de microbiano
microbiano microbiano is offline
Miembro
 
Registrado: sep 2008
Ubicación: Mexico D.F
Posts: 349
Poder: 16
microbiano Va por buen camino
hola amigo casimiro la verdad ya intente y lo unico que encuentro es la funcion
Código SQL [-]
SELECT GETDATE() AS 'Fecha'
pero sigue sin funcionar alguna tra sugerencia?
por cierto la base de datos es Sql Server 2000

Última edición por microbiano fecha: 01-05-2012 a las 15:36:26. Razón: complemento
Responder Con Cita
  #4  
Antiguo 01-05-2012
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 microbiano.

No uso SQL Server, pero revisá si te sirve este enlace: Date and Time Conversions Using SQL Server , al final de la página hay algunos ejemplos y comentarios.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
Ayuda con consultas min(fecha) max(fecha) potlanos SQL 4 04-11-2008 23:46:25
DateTimePicke ' Fecha Pago saber Fecha vencimiento' BuRtOn Varios 5 09-06-2008 06:07:51
Fecha de mayor a menor alcides Varios 2 15-02-2008 16:46:09
Ayuda, Como calcular fecha de vencimiento mensual a partir de una fecha x en delphi Renis Impresión 4 23-08-2007 23:45:14
Controlar fecha menor en DateTimePicker Caro OOP 5 06-07-2006 01:52:59


La franja horaria es GMT +2. Ahora son las 21:52:18.


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