Galera, estou precisando de um ajuda para rodar um codigo apenas do q esta filtrado. Tentei fazer algumas modificacoes no codigo original mas nao estou conseguindo, segue abaixo o original feito pelo colega Alexandre Neves do forum:
Sub ActualizaPrazos()
'criada por Alexandre Neves www.esnips.com\web\alexandreneves
'em 2012-10-27
'para gustavovon
'do fórum MaximoAccess
Dim Rst As DAO.Recordset
Set Rst = CurrentDb.OpenRecordset("Table1")
Do While Not Rst.EOF
Rst.Edit
Select Case Rst("Status")
Case "Aguard. PRAZO RECURSAL"
If DateDiff("d", Rst("Ultima Alteração"), Date) > 30 Then Rst("Prazo") = "Vencido"
Case "AGUARD. PRAZO ESPECIAL"
If DateDiff("d", Rst("Ultima Alteração"), Date) > 15 Then Rst("Prazo") = "Vencido"
Case "EM PROC. DE INSCRIÇÃO EM D.A."
If DateDiff("d", Rst("Ultima Alteração"), Date) > 45 Then Rst("Prazo") = "Vencido"
Case "AGUARD. PRAZO AJUR"
If DateDiff("d", Rst("Ultima Alteração"), Date) > 120 Then Rst("Prazo") = "Vencido"
Case Else
If IsNull(Rst("Ultima Alteração")) Then
Rst("Prazo") = "S/ PRAZO"
ElseIf IsDate(Rst("Ultima Alteração")) Then
If DateDiff("d", Rst("Ultima Alteração"), Date) > 360 Then
Rst("Prazo") = "360 dias"
ElseIf DateDiff("d", Rst("Ultima Alteração"), Date) > 330 Then
Rst("Prazo") = "330 dias"
ElseIf DateDiff("d", Rst("Ultima Alteração"), Date) > 300 Then
Rst("Prazo") = "300 dias"
ElseIf DateDiff("d", Rst("Ultima Alteração"), Date) > 270 Then
Rst("Prazo") = "270 dias"
ElseIf DateDiff("d", Rst("Ultima Alteração"), Date) > 240 Then
Rst("Prazo") = "240 dias"
ElseIf DateDiff("d", Rst("Ultima Alteração"), Date) > 210 Then
Rst("Prazo") = "210 dias"
ElseIf DateDiff("d", Rst("Ultima Alteração"), Date) > 180 Then
Rst("Prazo") = "180 dias"
ElseIf DateDiff("d", Rst("Ultima Alteração"), Date) > 150 Then
Rst("Prazo") = "150 dias"
ElseIf DateDiff("d", Rst("Ultima Alteração"), Date) > 120 Then
Rst("Prazo") = "120 dias"
ElseIf DateDiff("d", Rst("Ultima Alteração"), Date) > 90 Then
Rst("Prazo") = "90 dias"
ElseIf DateDiff("d", Rst("Ultima Alteração"), Date) > 60 Then
Rst("Prazo") = "60 dias"
ElseIf DateDiff("d", Rst("Ultima Alteração"), Date) > 45 Then
Rst("Prazo") = "45 dias"
ElseIf DateDiff("d", Rst("Ultima Alteração"), Date) > 30 Then
Rst("Prazo") = "30 dias"
ElseIf DateDiff("d", Rst("Ultima Alteração"), Date) > 15 Then
Rst("Prazo") = "15 dias"
End If
End If
End Select
Rst.Update
Rst.MoveNext
Loop
Set Rst = Nothing
End Sub
Oque preciso é que esse codigo rode apenas no q foi filtrado em um subformulario, Nz(Me!sfrmPedidos.Form.Filter, "") mas nao estou conseguindo fazer essa adaptacao funcionar e gravar minha tabela (table1). Alguem poderia dar uma luz ?
Abs
Sub ActualizaPrazos()
'criada por Alexandre Neves www.esnips.com\web\alexandreneves
'em 2012-10-27
'para gustavovon
'do fórum MaximoAccess
Dim Rst As DAO.Recordset
Set Rst = CurrentDb.OpenRecordset("Table1")
Do While Not Rst.EOF
Rst.Edit
Select Case Rst("Status")
Case "Aguard. PRAZO RECURSAL"
If DateDiff("d", Rst("Ultima Alteração"), Date) > 30 Then Rst("Prazo") = "Vencido"
Case "AGUARD. PRAZO ESPECIAL"
If DateDiff("d", Rst("Ultima Alteração"), Date) > 15 Then Rst("Prazo") = "Vencido"
Case "EM PROC. DE INSCRIÇÃO EM D.A."
If DateDiff("d", Rst("Ultima Alteração"), Date) > 45 Then Rst("Prazo") = "Vencido"
Case "AGUARD. PRAZO AJUR"
If DateDiff("d", Rst("Ultima Alteração"), Date) > 120 Then Rst("Prazo") = "Vencido"
Case Else
If IsNull(Rst("Ultima Alteração")) Then
Rst("Prazo") = "S/ PRAZO"
ElseIf IsDate(Rst("Ultima Alteração")) Then
If DateDiff("d", Rst("Ultima Alteração"), Date) > 360 Then
Rst("Prazo") = "360 dias"
ElseIf DateDiff("d", Rst("Ultima Alteração"), Date) > 330 Then
Rst("Prazo") = "330 dias"
ElseIf DateDiff("d", Rst("Ultima Alteração"), Date) > 300 Then
Rst("Prazo") = "300 dias"
ElseIf DateDiff("d", Rst("Ultima Alteração"), Date) > 270 Then
Rst("Prazo") = "270 dias"
ElseIf DateDiff("d", Rst("Ultima Alteração"), Date) > 240 Then
Rst("Prazo") = "240 dias"
ElseIf DateDiff("d", Rst("Ultima Alteração"), Date) > 210 Then
Rst("Prazo") = "210 dias"
ElseIf DateDiff("d", Rst("Ultima Alteração"), Date) > 180 Then
Rst("Prazo") = "180 dias"
ElseIf DateDiff("d", Rst("Ultima Alteração"), Date) > 150 Then
Rst("Prazo") = "150 dias"
ElseIf DateDiff("d", Rst("Ultima Alteração"), Date) > 120 Then
Rst("Prazo") = "120 dias"
ElseIf DateDiff("d", Rst("Ultima Alteração"), Date) > 90 Then
Rst("Prazo") = "90 dias"
ElseIf DateDiff("d", Rst("Ultima Alteração"), Date) > 60 Then
Rst("Prazo") = "60 dias"
ElseIf DateDiff("d", Rst("Ultima Alteração"), Date) > 45 Then
Rst("Prazo") = "45 dias"
ElseIf DateDiff("d", Rst("Ultima Alteração"), Date) > 30 Then
Rst("Prazo") = "30 dias"
ElseIf DateDiff("d", Rst("Ultima Alteração"), Date) > 15 Then
Rst("Prazo") = "15 dias"
End If
End If
End Select
Rst.Update
Rst.MoveNext
Loop
Set Rst = Nothing
End Sub
Oque preciso é que esse codigo rode apenas no q foi filtrado em um subformulario, Nz(Me!sfrmPedidos.Form.Filter, "") mas nao estou conseguindo fazer essa adaptacao funcionar e gravar minha tabela (table1). Alguem poderia dar uma luz ?
Abs