Insertar datos a una tabla de históricos por criterio en la fecha

Tengo una tabla Personal y quiero pasar a otra tabla de históricos (tienen la misma estructura) todas las personas que renunciaron en dos meses antes a la actual. Por ejemplo, el 01 de octubre, al abrir la base, tendría que reconocer la fecha del sistema y copiar los registros que tengan como fecha de renuncia hasta el 31 de agosto en la base histórica.

Esto es lo que tengo, pero me sale un error de sintaxis:

strSQL = "INSERT INTO Historicos "
strSQL = strSQL & "SELECT Socio,  Apellido,  Nombre,  Nacim,  Edad,  DNI,  FechaActa, NroActa,  NroLibro,  Folio, Ingreso, Renuncia, Estado " 

strSQL = strSQL & "FROM ASOCIADOS "

strSQL = strSQL & "WHERE Renuncia BETWEEN ('mm',-3,now()) and now() AND Estado = 'Baja'"

CurrentDb. Execute strSQL

1 respuesta

Respuesta
1

Tienes mal la parte del filtro:

strSQL = strSQL & "WHERE Renuncia>=#" DateAdd("m",-2,Now()) & "# AND Estado = 'Baja'"

o si te da problemas con el formato de fecha:

strSQL = strSQL & "WHERE Renuncia>=#" Format(DateAdd("m",-2,Now()),"mm/dd/yyyy")  & "# AND Estado = 'Baja'"

Además, tendrías que ir borrando de tu tabla los registros que pasas a tu tabla históricos.

Y dicho esto, ¿realmente es necesario que hagas este proceso y tengas en tu BD dos tablas idénticas, aunque con distintos datos?

El mismo resultado lo consigues con una única tabla, y dos consultas de selección, una para los históricos, en la que filtrarías las bajas de más de dos meses, y otra con el resto de registros (no bajas o bajas de menos de 2 meses)...

¡Gracias!

Respecto a ir borrando los registros, no lo agregué en la pregunta pero si lo tengo codificado

strSQL = "DELETE * "   strSQL = strSQL & "FROM ASOCIADOS "....

En relación a guardar todo en la misma tabla, sucede que en la tabla Asociados están todos los activos y tengo 2289 registros y en históricos tengo 6848 registros, es decir serian 9137 registro.

Además, en históricos pueden existir personas que se repiten ya que esa persona estuvo incorporada por ejemplo en octubre 2010 (tabla asociados), renunció en marzo 2011 (lo paso a histórico), se vuelve a reincorporar en diciembre 2011 (pasa a asociados) y vuelve a renunciar en julio 2012 (vuelve a pasar a históricos). Es decir, en tabla asociados solo puede estar un registro sin repetición (campo clave es DNI), en cambio en históricos si puede repetirse (el campo clave acá es iddocu).

Pruebo el filtro que me mandaste y te confirmo sus resultados, aunque seguro por tu experiencia estará todo correcto.

Saludos desde Argentina

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas