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 24-05-2005
uper uper is offline
Miembro
 
Registrado: abr 2004
Posts: 296
Poder: 21
uper Va por buen camino
validar una fecha en un ciclo repetitivo....

Discupen tengo un problemita al pasar de una tabla informacion fechas, de echo son varios campos pero solo dos de ellos le agrege una condicion para que verificara que si no esta vacio le pase el valor; en caso contario lo deje en blanco hice un bucle por ser varios registros.

este es el codigo
Código Delphi [-]
While not tbClienteOrigen.Eof do
 begin
tbClienteDetID.value:=tbClienteOrigenID.value;
tbClienteDetAnotacion.value.=tbClienteOrigenAnotacion.value;
 if not tbClienteOrigenFechaInicio.isnull then
  tbClienteDetfechaInicio.value:= tbClienteOrigenFechaInicio.value
 else 
    tbClienteDetfechaInicio.value:='';  //----->error incompatible types Tdatetime and string
 if not tbClienteOrigenFechaFinal.Isnull then
  tbClienteDetfechaFinal.value:= tbClienteOrigenFechaFinal.value;
else
 tbClienteDetfechaFinal.value:='';  //----> error incompatible types tdatetime and string
tbClienteDetActivo.value:='A';
tbClienteOrigen.next;
 
end
Aun si yo cambiara value por tbClienteDetfechaFinal.AsDateTime :='';
me sige el error.
Cual seria la manera para que quedara vacio el campo si es que es null vacio.
me falta algun parametro.

les agradesco

Última edición por roman fecha: 24-05-2005 a las 20:38:53. Razón: agregar etiquetas [delphi] para mayor legibilidad
Responder Con Cita
  #2  
Antiguo 24-05-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿No sirve poner?

Código Delphi [-]
tbClienteDetfechaInicio.value:= NULL;

// Saludos
Responder Con Cita
  #3  
Antiguo 24-05-2005
uper uper is offline
Miembro
 
Registrado: abr 2004
Posts: 296
Poder: 21
uper Va por buen camino
ya lo comprobe y no funciona poner un null, compile el programa y no me da error alguno pero al ejecutarse ese procedimiento me dice:
'Invalid varian type conversion'

Tambien comprobe haciendo un cambio de value por AsDateTime y aun da ese error invalid varian...
Código Delphi [-]
 While not tbClienteOrigen.Eof do
  begin
 tbClienteDetID.value:=tbClienteOrigenID.value;
 tbClienteDetAnotacion.value.=tbClienteOrigenAnotacion.value;
  if not tbClienteOrigenFechaInicio.isnull then
   tbClienteDetfechaInicio.value:= tbClienteOrigenFechaInicio.value
  else 
     tbClienteDetfechaInicio.AsDateTime:=null;
  if not tbClienteOrigenFechaFinal.Isnullthen
   tbClienteDetfechaFinal.value:= tbClienteOrigenFechaFinal.value;
 else
  tbClienteDetfechaFinal.AsDateTime:=null; 
 and string
 tbClienteDetActivo.value:='A';
 tbClienteOrigen.next;
  
 end
por que hace esto ?

Última edición por marcoszorrilla fecha: 24-05-2005 a las 21:41:08.
Responder Con Cita
  #4  
Antiguo 24-05-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por uper
al ejecutarse ese procedimiento me dice:
'Invalid varian type conversion'
¿En qué línea te marca ese error? ¿Tienes algún DBGrid u otro control de datos conectado a tbClienteOrigen?

Intenta poner NullStrictConvert := false

al principio del procedimiento.

// Saludos
Responder Con Cita
  #5  
Antiguo 24-05-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Prueba esto otro:
Código Delphi [-]
tbClienteDetfechaInicio.Clear

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #6  
Antiguo 25-05-2005
uper uper is offline
Miembro
 
Registrado: abr 2004
Posts: 296
Poder: 21
uper Va por buen camino
Saludos ya quedo con el metodo Clear agregandole para pasar fechas nulas,
y por que con este bucle me pasa los datos pero le falta el ultimo registro de donde se toman los datos de origen.

tengo mi tabla con 1517 registros y me copio 1516 en la tabla de destino.
este el codigo completo:
try
tbClienteOrigen.open;
tbClienteOrigen.first;
tbClienteDet.open;
While not tbClienteOrigen.Eof do
begin
tbClienteDet.append;
tbClienteDetID.value:=tbClienteOrigenID.value;
tbClienteDetAnotacion.value.=tbClienteOrigenAnotacion.value;
if not tbClienteOrigenFechaInicio.isnull then
tbClienteDetfechaInicio.value:= tbClienteOrigenFechaInicio.value
else
tbClienteDetfechaInicio.Clear;
if not tbClienteOrigenFechaFinal.Isnull then
tbClienteDetfechaFinal.value:= tbClienteOrigenFechaFinal.value;
else
tbClienteDetfechaFinal.clear;
tbClienteDetActivo.value:='A';
tbClienteDet.post;
tbClienteOrigen.next;
end
finally
tbClienteDet.close;
tbClienteOrigen.close;
end;
Responder Con Cita
  #7  
Antiguo 25-05-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
No alcanzo a ver el error

Pero haciendo un pequeño paréntesis te comento que ni Marco ni yo entramos a editar tu mensaje para colorear cada palabra reservada. Cuando publiques código delphi basta que lo encierres entre etiquetas [ delphi ] y [ /delphi ] (sin los espacios al lado de los corchetes) para que se coloree automágicamente además de que así se preservan las indentaciones.

// Saludos
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


La franja horaria es GMT +2. Ahora son las 23:29:05.


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