Senhores,
Tenho o código abaixo que utilizo para incrementar a numeração do campo "Ordem", só que atualmente incremento em todo os registros, porém gostaria de limitar aos registros de uma data. De modo que na tabela tenho datas de dos dias do mês, sendo que em um dia pode ter quatro registros, logo queria utilizar o incremento restrito ao registros de cada data.
Tenho o código abaixo que utilizo para incrementar a numeração do campo "Ordem", só que atualmente incremento em todo os registros, porém gostaria de limitar aos registros de uma data. De modo que na tabela tenho datas de dos dias do mês, sendo que em um dia pode ter quatro registros, logo queria utilizar o incremento restrito ao registros de cada data.
- Código:
Private Sub ORDEM_AfterUpdate()
Dim rs As Recordset, NovaOrdem As Integer, NUM As String
DoCmd.RunCommand acCmdSaveRecord
If IsNull(Me.ORDEM) Then
Exit Sub
End If
Set rs = CurrentDb.OpenRecordset("SELECT [tbl_fluxo].Num, [tbl_fluxo].Ordem " & _
"FROM [tbl_fluxo] " & _
"ORDER BY [tbl_fluxo].ordem;")
With rs
.MoveFirst
.FindFirst "[ordem]= " & Me.ORDEM
If .NoMatch Then
.FindFirst "[num]= '" & Me.NUM & "'"
.Edit
!ORDEM = Me.ORDEM
.Update
GoTo Final
Else
NovaOrdem = Me.ORDEM
NUM = Me.NUM
Do While Not .EOF
.Edit
!ORDEM = !ORDEM + 1
.Update
.MoveNext
Loop
End If
End With
DoCmd.RunSQL "UPDATE [tbl_fluxo] SET ordem =" & NovaOrdem & " WHERE num = " & Me.NUM & ";"
Me.Requery
GoTo Final
Final:
rs.Close
Set rs = Nothing
On Error Resume Next
End Sub