FoxPro/Visual FoxPro - Problema para substraer fecha

   
Vista:

Problema para substraer fecha

Publicado por Vfp9 (30 intervenciones) el 11/04/2010 19:21:44
Hola amigos que tal, tengo un problema para substraer datos de una fecha. la cual esta es ingresada en un formulario automaticamente o tambien si el usuario quisiera ingresarlo manualmente tambien, hay un textbox para digitar el dia (28) y un combo box para seleccionar el mes (abril)

cuando lo guardo este lo gardo en un campo fecha. lo cual junto los datos de la siguiente manera dia + "" +"De"+combobox y se guarda en el campo asi: 28 de Abril pero cuando modificar el registro y este contiene la fecha de esa manera estaba intentando utiliza Substr pero no me sale.

esto para que en el textbox dia me muestre el dia (28) y el combobox el mes respectivo al que se guardo para ese registro.
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

RE:Problema para substraer fecha

Publicado por DALSOM (609 intervenciones) el 12/04/2010 00:12:36
Y POR QUE NO SOLO GUARDAS LA FECHA EN EL FORMATO DE FECHA, Y CUANDO QUIERAS PRESENTARLA HACES LA CONVERSION. ASI, CUANDO QUIERAS MODIFICARLA, LO HACES COMO SI FUERAS A GUARDAR UNA NUEVA, PERO AL LEERLA, LA PRESENTAS EN EL FORMATO QUE DESEES.

ASI:

28 de Febrero

EQUIVALE A :

28 + COMBO.VALUE + TXTYEAR.VALUE

GUARDADO COMO :

{28-02-2010}

CUANDO LEES LOS DATOS :

PONES DAY(TABLA.FECHA) + MES(TABLA.FECHA)

QUE TAL?

SALUDOS,
DALSOM.
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

RE:Problema para substraer fecha

Publicado por Vfp9 (30 intervenciones) el 13/04/2010 05:46:54
Gracias Dalson mira te comento algo mas. yo tengo 2 campos fechas en la tabla uno que es fecha la cual este me guarda la fecha en su formato original y este me dice l fecha en que se guardo dicho registro y el otro es fechaletra que este sirve para guardar en el campo los datos de fecha de impresion. mira esto es por que dicho registro se pudo guardar en una fecha pero en ese momento que se imprima se querra visualizar como en otra fecha si el usuario quisiera. entonces al realizar esta conversion me resultaria y como lo podria realizar al momento de la impresion.
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 Mauricio

Problema para substraer fecha

Publicado por Mauricio (1367 intervenciones) el 12/04/2010 14:22:29
el formato de la fecha es '01/05/2010'
ahora lo quieres guardar como '28 de Abril' este no cumple con el formato de fecha, deberias replantear la forma de guardar la fecha.......
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

RE:Problema para substraer fecha

Publicado por DALSOM (609 intervenciones) el 15/04/2010 06:19:39
PUES A VER:
DIGAMOS QUE GUARDAS TUS FECHAS EN FORMATO DE CAMPO DATE O DATETIME (EN MI CASO, SQL, ES DATETIME).

PUES EL DIA LO OBTIENES CON LA FUNCION DAY(CAMPOFECHA)
Y PARA PONERLO CHARACTER, USA UN STR(DAY(CAMPOFECHA)).

PARA EL MES, QUIERES UN MES LARGO, ES SENCILLO :

Function MesLargo
Parameters nMes
DIMENSION MESES(12)
MESES(1) = 'Enero'
MESES(2)='Febrero'
...
MESES(12) = 'Diciembre'
return MESES(nMes)

PUES AHORA TENDRIAS DOS CADENAS PARA CONCATENAR, ASI:

LFECHALARGA = STR(DAY(CAMPOFECHA)) + ' de ' + MesLargo(MONTH(CAMPOFECHA) + ' Del ' + STR(YEAR(CAMPOFECHA),4)

ASI OBTENDRIAS UNA FECHA EN ESTE FORMATO :
NN de MMMMMMM Del YYYY,
ES DECIR, SI CAMPOFECHA (PUEDE SER UNA VARIABLE) TIENE LA FECHA DE HOY {14/04/2010} TENDRIAS EL RESULTADO ASI : 14 de Abril Del 2010.

EN TU REPORTE SOLO DEBERAS PONER UN CAMPO PARA LA VARIABLE LFECHALARGA, O CREAR LA FUNCION EN BASE A LO EXPLICADO Y REFERENCIAR LA FUNCION DESDE EL REPORTE.

PERO SI LO QUE QUIERES ES, PRESENTAR EN PANTALLA UN FORMATO DE FECHA, Y CUANDO LE DE A LA IMPRESORA PARA ENVIAR EL REPORTE A IMPRIMIR, IMPRIMA ALGO DIFERENTE A LO QUE PRESENTASTE EN PANTALLA, ENTONCES NO CREO QUE PUEDA HACER ESO. IMPRIMES SIEMPRE LO QUE PRESENTAS EN PANTALLA.

PUEDES JUGAR CON EL FOMARTO DE FECHA, PUEDES DECIDIR SI LE AGREGAS EL ANO, SI PONES EL MES EN FORMATO DE 3 LETRAS, O LO PONES DELANTE DEL DIA O CUANTAS COSAS MAS SE TE OCURRAN.

ESPERO HABERTE AYUDADO,
SALUDOS,
DALSOM.
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