FabioGO 30/10/2018, 18:38
Não sei se é a melhor forma de fazer, mas vou tentar ajudar.
Fiz uma proposta que é:
1)Criei um novo campo na tabela de cadastro com o nome HoraReg (com o valor padrão =Agora()), para registrar a hora do cadastro e também um novo campo para o numero do BO, com o nome NumBO.
2)Vinculei o campo do formulário BO_n° com o novo campo da tabela NumBO
3)No evento apos atualizar do seu campo Data no formulario frm_Guias, coloquei o código abaixo:
- Código:
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("SELECT * From Tab_Cadastro ORDER BY Data, HoraReg") ' abre a tabela e ordena pelo campo Data e depois HoraReg
If Nz(rs.RecordCount) = 0 Then ' confere se há registros na tabela
Me.BO_nº = 1 ' se não houver registros, o valor para o BO_n° será 1
ElseIf DCount("*", "Tab_Cadastro", "Year([Data])='" & Year(Nz(Me.Data, 0)) & "'") > 0 Then 'se houver registros com o mesmo ano do cadastro do registro atual
rs.MoveLast 'move para o ultimo registro
Me.BO_nº = Nz(rs!NumBO + 1, 0) 'pega o valor do ultimo numero do BO e soma mais 1 para o próximo registro
ElseIf DCount("*", "Tab_Cadastro", "Year([Data])='" & Year(Nz(Me.Data, 0)) & "'") = 0 Then 'se não houver registros com o mesmo ano do cadastro atual
Me.BO_nº = 1 'o numero do BO será 1 para esse ano
End If
rs.Close
Me.Refresh
Teste para ver, se não for o que precisa, espere algum mestre ajudar.
Se for o que precisa e tiver duvidas, é só perguntar.
- Anexos
- Sistema RDO.zip
- Você não tem permissão para fazer download dos arquivos anexados.
- (808 Kb) Baixado 20 vez(es)
Última edição por FabioGO em 1/11/2018, 12:05, editado 1 vez(es)