Olá, Senhoras, Senhores, Rapazes e Moças apaixonados pelo Access!
Boa Noite!
Meus Caros, em postagem anterior, pedi ajuda a vocês, mas acredito que ficou meio confusa a explicação. Então, excluí a mensagem anterior, e estou postando esta nova, no intuito de ser mais claro; para com que os colegas, à medida do possível, me ajudem.
Há dias venho batendo cabeça para consegui um modelo ou uma solução para o sistema em anexo.
Passos:
1 - Ao criar um novo Contrato, entro com a data (Início do Processo: ) Exemplo: 26/08/2018
2 - Em seguida, clico no botão Inserir Etapas: As Etapas do Processo são carregadas no Subformulário
PEÇO GENTILMENTE A VOCÊS:
3 - Preciso que o primeiro registro do Subformulário fique com o campo: Entrada Feliz: 26/08/2018
Por padrão, o Intervalo Dias já vem informado. Neste caso, 3 dias.
O campo Saída Feliz, será calculado: 26/08/2018 + 3 = 29/08/2018.
4 - O segundo registro do Subformulário fique com o campo: Entrada Feliz: 30/08/2018
O Intervalo Dias já vem informado. Neste caso, 5 dias.
O campo Saída Feliz, será calculado: 30/08/2018 + 5 = 04/09/2018.
5 - E assim sucessivamente até o último registro do Subformulário.
Obs.: O ideal, é que o Cálculo seja feito somente com os dias úteis (tenho um modelo e posso adaptar); mas a minha aflição, é conseguir popular as demais datas de forma automática.
Este é o código que estou utilizando:
Private Sub cmdGravar_Click()
Dim dbs As DAO.Database
Dim rs7 As DAO.Recordset
Dim tbl As DAO.Recordset
Dim i As Byte
'---------------------------------------
Set dbs = CurrentDb
Set tbl = dbs.OpenRecordset("t02ObjDth")
Set rs7 = frmEventosS2Oculto.Form.RecordsetClone
rs7.MoveFirst
'---------------------------------------------------------------
'Exportando os campos necessários
Do While Not rs7.EOF
'For i = 1 To Me.QtdRegistros
tbl.AddNew
tbl!ObjDth_Obj_id = Me.Obj_id
tbl!ObjDth_Modal_id = rs7!ObjDth_Obj_Modal_id
tbl!ObjDth_EspCont_id = rs7!ObjDth_Obj_EspCont_id
tbl!ObjDth_tpOb_id = rs7!ObjDth_Obj_tpOb_id
tbl!ObjDth_EtM_id = rs7!ObjDth_Obj_EtM_id
'Calcula as datas de Vencto através da função DateAdd()
tbl!ObjDth_DtEntradaCamiFeliz = DateAdd("m", i - 1, Me.Obj_dtContrato)
tbl.Update
'Next
rs7.MoveNext
Loop
tbl.Close
rs7.Close
Set tbl = Nothing
Set rs7 = Nothing
MsgBox "Registros adicionados com sucesso.", vbInformation, "Sucesso"
Me.sf1.SetFocus 'Foco no SubForm Parcelas
Me.cmdGravar.enabled = False 'Desativa o botão Parcelas
Me.sf1.Requery 'Atualiza o SubForm Parcelas
End Sub
Antecipadamente agradeço a Todos pela Força!
O Meu Sempre Forte, Carinhoso e Fraterno Abraço,
Guilherme B. Pereira
Boa Noite!
Meus Caros, em postagem anterior, pedi ajuda a vocês, mas acredito que ficou meio confusa a explicação. Então, excluí a mensagem anterior, e estou postando esta nova, no intuito de ser mais claro; para com que os colegas, à medida do possível, me ajudem.
Há dias venho batendo cabeça para consegui um modelo ou uma solução para o sistema em anexo.
Passos:
1 - Ao criar um novo Contrato, entro com a data (Início do Processo: ) Exemplo: 26/08/2018
2 - Em seguida, clico no botão Inserir Etapas: As Etapas do Processo são carregadas no Subformulário
PEÇO GENTILMENTE A VOCÊS:
3 - Preciso que o primeiro registro do Subformulário fique com o campo: Entrada Feliz: 26/08/2018
Por padrão, o Intervalo Dias já vem informado. Neste caso, 3 dias.
O campo Saída Feliz, será calculado: 26/08/2018 + 3 = 29/08/2018.
4 - O segundo registro do Subformulário fique com o campo: Entrada Feliz: 30/08/2018
O Intervalo Dias já vem informado. Neste caso, 5 dias.
O campo Saída Feliz, será calculado: 30/08/2018 + 5 = 04/09/2018.
5 - E assim sucessivamente até o último registro do Subformulário.
Obs.: O ideal, é que o Cálculo seja feito somente com os dias úteis (tenho um modelo e posso adaptar); mas a minha aflição, é conseguir popular as demais datas de forma automática.
Este é o código que estou utilizando:
Private Sub cmdGravar_Click()
Dim dbs As DAO.Database
Dim rs7 As DAO.Recordset
Dim tbl As DAO.Recordset
Dim i As Byte
'---------------------------------------
Set dbs = CurrentDb
Set tbl = dbs.OpenRecordset("t02ObjDth")
Set rs7 = frmEventosS2Oculto.Form.RecordsetClone
rs7.MoveFirst
'---------------------------------------------------------------
'Exportando os campos necessários
Do While Not rs7.EOF
'For i = 1 To Me.QtdRegistros
tbl.AddNew
tbl!ObjDth_Obj_id = Me.Obj_id
tbl!ObjDth_Modal_id = rs7!ObjDth_Obj_Modal_id
tbl!ObjDth_EspCont_id = rs7!ObjDth_Obj_EspCont_id
tbl!ObjDth_tpOb_id = rs7!ObjDth_Obj_tpOb_id
tbl!ObjDth_EtM_id = rs7!ObjDth_Obj_EtM_id
'Calcula as datas de Vencto através da função DateAdd()
tbl!ObjDth_DtEntradaCamiFeliz = DateAdd("m", i - 1, Me.Obj_dtContrato)
tbl.Update
'Next
rs7.MoveNext
Loop
tbl.Close
rs7.Close
Set tbl = Nothing
Set rs7 = Nothing
MsgBox "Registros adicionados com sucesso.", vbInformation, "Sucesso"
Me.sf1.SetFocus 'Foco no SubForm Parcelas
Me.cmdGravar.enabled = False 'Desativa o botão Parcelas
Me.sf1.Requery 'Atualiza o SubForm Parcelas
End Sub
Antecipadamente agradeço a Todos pela Força!
O Meu Sempre Forte, Carinhoso e Fraterno Abraço,
Guilherme B. Pereira
- Anexos
- Preenchimento Automático das Demais Datas.zip
- Você não tem permissão para fazer download dos arquivos anexados.
- (678 Kb) Baixado 9 vez(es)