FoxPro/Visual FoxPro - Ayuda por fa!

 
Vista:
sin imagen de perfil

Ayuda por fa!

Publicado por Andres (1 intervención) el 25/04/2014 23:05:27
No soy experto en Visual Fox Pro 6, y necesito pasar un dato numerico o caracter en fecha(date).
Tengo la columna "fec_1" el cual esta en formato numerico una fecha ejemp. 20140425.
Tengo la columna "fec_2" el cual esta en formato caracter una fecha ejemp. "20140425", esta es la misma fecha anterior.
Y tengo la columna "Fec_ok" en formato date. Este campo siempre esta MM/DD/AAAA.
La idea es pasar esa fecha 20140425 que esta en numerico o caracter ("fec_1" ó "fec_2") al campo "Fec_ok" para luego poder hacer una resta con dos campos date, de tal manera que me de como resultado en otro campo distinto el resultado en numero de días.

Muchas gracias!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Ayuda por fa!

Publicado por Marco Mendinueta (12 intervenciones) el 20/05/2014 21:45:24
para pasar datos de caracter a valor utiliza el comando val() asi
nueva_fecha=Val(fec_2)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Ernesto

Ayuda por fa!

Publicado por Ernesto (5 intervenciones) el 20/05/2014 21:57:48
una posibilidad es le pongas al campo fec_2 los " / " correspondientes y despues le aplicas la funcion CTOD() eso te lña lleva a formato de fecha el valor. Espero te sirva, dame respuesta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ayuda por fa!

Publicado por Juan Miguel Solis Sandes (84 intervenciones) el 21/05/2014 15:44:06
Hola

Un posible solución es

Para al campo FEC_ = 20140425 (numerico):

cNumToChar = str(FEC_1,8,0) && Lo pasas a una variable tipo char con STR .

dFecha1 = ctod( right(cNumToCha,2)+'/'+substr(cNumToCha,5,2)+'/'+left(cNumToCha,4) )


Para al campo FEC_2 = "20140425" (caracter):

dFecha2 = ctod( right(FEC_2,2)+'/'+substr(FEC_2,5,2)+'/'+left(FEC_2,4) )

*** Con esto tienes la variable dFecha2 (tipo fecha) con el dato en formato DD/MM/AAAA

Y entonces ya tienes dFecha1 en foramto fecha, dFecha2 en formato fecha y Fecha_Ok (que me imagino que sera fecha y luego ya podrias restar directaemtne algo asi como:

Fecha_Ok = dFecha1 - dFecha2


Espero que te valga
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar