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
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
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

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