Access - sumar fecha y crear otro registro

 
Vista:

sumar fecha y crear otro registro

Publicado por Sergio (2 intervenciones) el 21/01/2007 11:37:22
Hola tengo un registro en el que hay una fecha y necesito que cuando un campo de si o no se active me cree un registro indentico salvo que en el campo fecha habria que sumar x meses y el campo si/no debería volver a dsactivarse. Desconozco si esto es posible ya que estoy empezando en esto. UN SALUDO a todos y gracias por este foro.
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
Imágen de perfil de Alejandro

Crear registros duplicados con ajuste de fecha y campo de sí/no

Publicado por Alejandro (4142 intervenciones) el 01/08/2023 22:07:55
En Access, puedes lograr la funcionalidad que deseas utilizando una consulta de acción (consulta que realiza cambios en los datos) y una función personalizada (VBA) para ajustar la fecha y el campo de sí/no. A continuación, te muestro los pasos para lograrlo:

Paso 1: Crear una función personalizada en VBA
- Ve a la pestaña "Desarrollador" en Access y selecciona "Visual Basic" para abrir el Editor de Visual Basic (VBE).
- En el menú "Insertar", selecciona "Módulo" para agregar un nuevo módulo al proyecto.
- En el módulo, escribe la siguiente función:

1
2
3
4
Function AjustarFecha(FechaInicial As Date, Meses As Integer) As Date
    ' Ajustar la fecha sumando el número de meses indicados
    AjustarFecha = DateAdd("m", Meses, FechaInicial)
End Function

Paso 2: Crear una consulta de acción
- Crea una nueva consulta en Access y selecciona la tabla donde se encuentra el registro original que deseas duplicar.
- Agrega los campos necesarios a la cuadrícula de diseño, incluyendo el campo de fecha y el campo de sí/no.
- En la fila "Criterios" del campo de sí/no, ingresa "Si" para filtrar los registros que estén activados (con "Si") y que deseas duplicar.

Paso 3: Utilizar la función personalizada en la consulta
- En una columna adicional de la consulta, utiliza la función personalizada "AjustarFecha" para calcular la nueva fecha sumando los meses deseados al campo de fecha original. Por ejemplo:

1
2
3
SELECT CampoFecha, AjustarFecha([CampoFecha], 3) AS NuevaFecha, CampoSiNo
FROM TuTabla
WHERE CampoSiNo="Si";

Esta consulta mostrará los registros que estén activados (con "Si") y sus respectivas fechas ajustadas sumando 3 meses en la columna "NuevaFecha".

Paso 4: Crear una consulta de actualización para desactivar el campo de sí/no
- Crea otra consulta de acción en Access y selecciona la tabla donde se encuentran los registros originales que fueron duplicados.
- Agrega el campo de sí/no a la cuadrícula de diseño.
- En la fila "Actualización" del campo de sí/no, ingresa "No" para desactivar los registros duplicados.

Paso 5: Ejecutar las consultas
- Ejecuta la primera consulta para duplicar los registros con las fechas ajustadas y obtener la lista de registros duplicados.
- Asegúrate de que los registros duplicados estén correctos antes de proceder.
- Ejecuta la segunda consulta para desactivar el campo de sí/no en los registros duplicados.

Con estos pasos, lograrás crear registros duplicados con ajuste de fecha y campo de sí/no en Access.

Es importante tener en cuenta que al ejecutar una consulta de acción, los cambios se realizarán directamente en la tabla. Siempre es recomendable realizar copias de seguridad de la base de datos antes de realizar cambios significativos.

Espero que esta solución te sea útil y te ayude a lograr la funcionalidad que necesitas en Access. ¡Buena suerte!
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