Dar de baja a Clientes que no hayan comprado los últimos 6 meses

Auxilio!, tengo una base de datos donde quiero dar de baja a aquellos clientes que no han comprado productos los últimos 6 meses, en mi tabla tengo "fecha de la ultima compra", y "estado" donde marca activo/Inactivo, y que automáticamente me marque la condición del cliente, porque yo la estoy marcando o desmarcando manualmente.

3 Respuestas

Respuesta
4

Puedes hacerlo con una consulta de actualización, que tendría esta SQL:

UPDATE Tabla1 SET Tabla1.estado = -1
WHERE ((DateDiff("m",[fecha de la ultima compra],Now())>5));

donde Tabla1 sería el nombre de tu tabla.

Tendrías que ejecutar manualmente esa consulta, asignarla al código de un botón de un formulario o al evento "al cargar" de un formulario si quieres "automatizar" más el proceso.

En cualquiera de lso dos casos, el código sería:

Private Sub ...
CurrentDb.Execute "UPDATE Tabla1 SET Tabla1.estado = -1 WHERE ((DateDiff("m",[fecha de la ultima compra],Now())>5));"
End Sub

Saludos!


Visítanos: http://nksvaccessolutions.com/ 

¡Gracias! Muchas gracias por tu ayuda

De nada, pero no te olvides de valorar la respuesta si quieres seguir contando con ayuda en otras ocasiones.

Respuesta
2

¿Quieres borrarlo o marcarlo como inactivo?

Si es borrarlo, puedes crear una consulta a la que añades la tabla Clientes. Haz doble clic sobre el asterisco de la tabla para que te aparezca en la cuadrícula de diseño como Clientes.* y luego añade el campo Fecha de ultima compra a la cuadricula de diseño. Debajo en criterio pon Date()-180 y haz clic con el botón derecho del raton en la zona gris a la derecha de donde está la tabla

Ver imagen

Luego sólo tienes que darle al botón ejecutar, que está en la barra de menús o bien cerrarla. Y luego desde la ventana de navegación abrirla.

En el caso de marcar en la casilla Inactivo, es lo mismo pero añade solo a la cuadrícula el campo Inactivo y el campo Fecha ultima compra, debajo de este ultimo pon lo mismo de antes y en vez de consulta de eliminación elige consulta de actualización. Verás que debajo de Inactivo te pone Actualizar a Ponle -1 te debe quedar

Actualizar a -1

Y ejecutas igual que antes

Puedes guardar las consultas y mas adelante, cada vez que "vayas a abrirlas" ya te actualizará o eliminará los nuevos registros que ya cumplan la condición de que fecha ultima sea < date()-180

Respuesta

Pues lo ideal es hacer una sentencia SQL Delete a la tabla clientes en donde la fecha de la ultima compra sea mayor o igual a 6 meses, para que utiliza el estado activo/Inactivo?.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas