¿Qué falla del código?
Private Sub Form_Open(Cancel As Integer) 'Declaramos las variables Dim vFechaFroz As Date Dim vFechLost As Date Dim miSqlF1 As String Dim miSqlF2 As String Dim miSqlF3 As String Dim miSqlL1 As String Dim miSqlL2 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 miSqlF1 = "UPDATE Ofertas SET Ofertas.EstadoOferta=" & """" & "Frozen" & """" _ & " WHERE Ofertas.FechaOferta<#" & Format(vFechFroz, "mm/dd/yy") & "#" _ & " AND Ofertas.EstadoOferta=" & """" & "Offered" & """" _ miSqlF2 = "UPDATE Ofertas SET Ofertas.SuccesRate=" & """" & "0%" & """" _ & " WHERE Ofertas.FechaOferta<#" & Format(vFechFroz, "mm/dd/yy") & "#" _ & " AND Ofertas.EstadoOferta=" & """" & "Frozen" & """" _ miSqlF3 = "UPDATE Ofertas SET Ofertas.FechaAnulacion=" & """" & Format(FechaOferta + 90, "dd/mm/yy") & """" _ & " WHERE Ofertas.FechaOferta<#" & Format(vFechFroz, "mm/dd/yy") & "#" _ & " AND Ofertas.EstadoOferta=" & """" & "Frozen" & """" _ miSqlL1 = "UPDATE Ofertas SET Ofertas.FechaAnulacion=" & """" & Format(FechaOferta + 120, "dd/mm/yy") & """" _ & " WHERE Ofertas.FechaOferta<#" & Format(vFechLost, "mm/dd/yy") & "#" _ & " AND Ofertas.EstadoOferta=" & """" & "Frozen" & """" _ miSqlL2 = "UPDATE Ofertas SET Ofertas.EstadoOferta=" & """" & "Lost" & """" _ & " WHERE Ofertas.FechaOferta<#" & Format(vFechLost, "mm/dd/yy") & "#" _ & " AND Ofertas.EstadoOferta=" & """" & "Frozen" & """" _ 'Desactivamos los warnings DoCmd.SetWarnings False 'Ejecutamos las SQL DoCmd.RunSQL (miSqlF1) DoCmd.RunSQL (miSqlF2) DoCmd.RunSQL (miSqlF3) DoCmd.RunSQL (miSqlL1) DoCmd.RunSQL (miSqlL2) '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!!