¿Qué falla del código?
Private Sub Form_Open(Cancel As Integer) 'Declaramos las variables Dim vFechaFroz As Date Dim vFechLost As Date Dim miSqlF As String Dim miSqlL As String vFechFroz = Date - 90 '60 = 30 días por 2 meses vFechLost = Date - 120 '120 = 30 días por 4 meses 'Crear las SQL de actualización filtrando miSqlF = "UPDATE Ofertas SET Ofertas.EstadoOferta=" & """" & "Frozen" & """, Ofertas.SuccesRate=" & """" & "0%" & """, Ofertas.FechaAnulacion=" & """" & Format(FechaOferta + 90, "dd/mm/yy") & """ " _ & " WHERE Ofertas.FechaOferta<#" & Format(vFechFroz, "mm/dd/yy") & "#" _ & " AND Ofertas.EstadoOferta=" & """" & "Offered" & """" _ miSqlL = "UPDATE Ofertas SET Ofertas.EstadoOferta=" & """" & "Lost" & """, Ofertas.SuccesRate=" & """" & "0%" & """, Ofertas.FechaAnulacion=" & """" & Format(FechaOferta + 120, "dd/mm/yy") & """ " _ & " WHERE Ofertas.FechaOferta<#" & Format(vFechLost, "mm/dd/yy") & "#" _ & " AND Ofertas.EstadoOferta=" & """" & "Frozen" & """" _ 'Desactivamos los warnings DoCmd.SetWarnings False 'Ejecutamos las SQL DoCmd.RunSQL (miSqlF) DoCmd.RunSQL (miSqlL) 'Activamos los warnings DoCmd.SetWarnings True 'Avisamos de que todo ha ido bien 'MsgBox "Actualización realizada correctamente", vbInformation, "OK" 'Esta línea es opcional: la puedes poner o no End Sub
Bueno pues la idea de esto es que cada vez que habrá el formulario "Ofertas":
Si
EstadoOferta=Offered Y (han pasado 90 días desde la fecha de Oferta)
--> EstadoOferta= Frozen + SuccessRate=0% + FechaAnulacion=
FechaOferta+90
Si (han pasado 120 desde la oferta)--> EstadoOferta=Lost + SuccessRate=0%+FechaAnulacion=FechaOferta+120
Todo
me va BIEN cuando es el primer registro... Pero después de mas de un
registro me falla la FechaAnulacion (no sé porque guarda la FechaOferta
del primer registro que cumple el criterio...y a partir de ahí a todas
las siguientes que lo cumplen le hace
FechaAnulacion_delPrimerRegistro+90 o +120 según el caso).
Ejemplo:
EstadoOferta=Offered con FechaOferta=02/01/13-->todo bien y FechaAnulacion=02/05/13
(siguiente registro)
EstadoOferta=Offered
con FechaOferta=12/12/13-->todo bien PERO FechaAnulacion=02/05/13
(Debería de ser 11/04/13 -->12/12/13 + 120). Guarda la Fecha de
Oferta del primer registro en vez de esta nueva.
Quisiera
ayuda del porque puede estar haciendo esto tan raro, ya que para las
demás (Mirar EstadoOferta o si la FechaOferta a pasado 90 o 120 días) va
bien y solo es en la FechaAnulacion... Me estoy volviendo loco!
Gracias de antemano!!