¿Cómo cambiar el año en fechas?

Tengo una tabla con varios campos de fechas del 2005.
Quisiera conservar todos los registros y esas fechas pero cambiando solo el año por el 2006. ¿Cómo lo hago?.
Muchas gracias.

1 respuesta

Respuesta
1
* ******************************************************************************************************************
* Programa : Fechas.prg
* Objetivo : Duplicar registros con modificación de la fecha.
* Autor : Isaías Bórquez
* E-Mail : [email protected]
* Localidad : Hermosillo, Sonora, México.
* ******************************************************************************************************************
* Puedes sustituir los números del año con variables para utilizar el programa en otras oportunidades y, en años
* bisiestos.
* Hallarás los datos de la estructura de la tabla, para que hagas pruebas con el código, antes de usarlo en alguna
* aplicación.
* ******************************************************************************************************************
CLEAR
* Activa el formato de cuatro dígitos para el año: 05 => 2005.
SET CENTURY ON
* Define el formato de fecha. En este caso será dd/mm/aaaa.
SET DATE TO FRENCH
* Abre la tabla a utilizar
* Los campos son:
* nombre= tipo: caracter; longitud: 38.
* fecha = tipo: fecha; longitud 8.
IF NOT USED('fechas')
SELECT 1
Use fechas.DBF
ENDIF
* Inicialización de variables
STORE DTOC(DATE()) TO chrfecha && Almacena la fecha en formato de caracter.
STORE RECCOUNT() TO fda && Almacena el total de registros de la tabla, que serán leidos.
FOR i = 1 TO fda && Lee la totalidad de los registros de la tabla.
GO RECORD i
IF RIGHT(DTOC(fechas.fecha),4) = '2005' ; && Busca valores de año igual a 2005.
.AND. NOT (MONTH(fechas.fecha) = 2 AND DAY(fechas.fecha) = 29)
SCATTER MEMVAR && Copia hacia la memoria el registro activo.
STORE DTOC(fechas. Fecha) TO chrfecha && Convierte la fecha a formato de caracter: '13/12/2005'
* La siguiente instrucción realiza la sustitución de 2005 por 2006 y, después, convierte el resultado
* De formato de carácter a fecha y actualiza el valor de la variable de memoria m.fecha.
STORE CTOD(STUFF(chrfecha, 7, 4, '2006')) TO m.fecha
INSERT INTO FECHAS.DBF FROM MEMVAR && Inserta un nuevo registro en la tabla con los valores que se modificaron.
Endif
Endfor
Browse
Close all
Cancel
Muchas gracias. Por error, no puse que se trataba de una tabla de access y puse una segunda pregunta aclarando ese punto, a la que ya me contestaron satisfactoriamente.Por desgracia no sé casi nada de programación. Pero estoy seguro que en el futuro estas instrucciones me serán de gran utilidad, cuando empiece con Visual Basic, como es mi intención. Gracias de nuevo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas