Bom dia a todos.
Gostaria de saber como faço para atualizar o dados em meu subformulário a partir de outro subformulário, e outro formulário principal de outra rotina para outro subformulário.
Já vi vários tópicos com esse tema e tentei ajustar para o meu, mas após diversas tentativas não consegui.
Seria em 2 situações:
1) Form principal : F13_Operacao
Subformulário 1: F134_OperacaoXApreensoesPF
Subformulário 2: F13_OperacaoXImprimeFormulariosPF
Preciso que após inserir um novo registro no Subformulário 1 o Subformulário 2 seja atualizado com os campos 'NomePessoa' e 'CPFPessoa'
No subform1: Esse novo registro em questão é quando insiro o cadastro de 1 pessoa ou mais pessoas que tem como fonte de registro o cadastro de Pessoas pelo campo 'IDPessoa'
No subform2: Tem também o campo 'IDPessoa' para haver o relacionamento baseado em uma consulta.
PS: Ambos subformulários são vinculados ao form principal pela relação Pai/Filho: CodOperacao/IDOperacao
2) PS: A rotina em questão foi feita pelo nosso colega ALEXANDRE NEVES (FEV/2017)
Form principal 1: F16_DocAdministrativos
Form principal 2: F17_NoticiasDeFato
Subformulário : F171_NotFato_Tramitacoes (relacionada com Form principal 2)
A rotina consiste em importar os dados de um registro do Form principal 1 para o Form principal 2 = Até aqui funciona perfeitamente.
Também ao importar os dados de um form para outro, ao mesmo tempo cria no subformulário do Form principal 2 um registro adicionando dados e abre o form principal 2 e mostra esse novo registro no subformulário = até aqui funciona perfeitamente.
A questão é: essa rotina estava funcionando perfeitamente durante esses quase 3 anos, ou seja, mostrava o form principal 2 e ao clicar no subformulário visualizava o mesmo completo, no entanto, sem que eu tivesse feito qualquer alteração relevante no código, apenas acrescentei alguns comandos que não alteraram em nada a visualização do registro até então (conforme mostrado abaixo), no entanto, de um mês para cá não mostra mais o subformulário com o novo registro inserido, mostra apenas uma tela toda em cinza e vazia sem os dados ou qualquer coisa, mas se eu fechar tudo, e abrir o form principal 2, mostra o registro que foi adicionado no subformulário normalmente, ou seja, está gravando o registro quando da importação/inclusão, mas não mostra o registro no subformulário quando da importação/inserção de registro novo no subformulário.
PS: A rotina completa é esta para importar/adicionar e mostrar o registro no subformulário:
Private Sub IDMembroStatus4_AfterUpdate() 'Status 4 - Rotina: 15/02/2017 + 22/03/2017
'Rotina com ajuda de ALEXANDRE NEVES (Fórum Máximo Acess) em FEV/2017
If IsNull(DataStatus4) Or IsEmpty(DataStatus4) Then
MsgBox "Falta informar a DATA DO STATUS!", , "Sistema: Validação de Campo"
Me.DataStatus4.SetFocus
Exit Sub
End If
If IsNull(IDServidorStatus4) Or IsEmpty(IDServidorStatus4) Then
MsgBox "Falta informar o(a) SERVIDOR(a) responsável para a Autuação!", , "Sistema: Validação de Campo"
Me.IDServidorStatus4.SetFocus
Exit Sub
End If
Me!Status4Membro = IDMembroStatus4.Column(1)
Dim i As Integer
Dim sMsg As String
Beep
sMsg = "Este Documento Administrativo será autuado como uma nova NOTÍCIA DE FATO!!" & vbCr & " " & vbCr & _
"ATENÇÃO!! Verifique se existe Anexo(s) para copiar via rotina para a Notícia de Fato gerada." _
& " " & vbCr & " " & vbCr & "Confirma esta Operação ?"
i = MsgBox(sMsg, vbYesNo, "SISTEMA - Confirmação de Ação")
If i = vbNo Then
Me.Status4 = Null
Me.DataStatus4 = Null
Me.IDServidorStatus4 = Null
Me.Status4Servidor = Null
Me.IDMembroStatus4 = Null
Me.Status4Membro = Null
Me.NotFatoStatus4 = Null
Me.Observacao.SetFocus
Exit Sub
ElseIf IsNull(Me.NotFatoStatus4) = True Then
DoCmd.OpenForm "F17_NoticiasDeFato", acNormal, , , acFormAdd
DoCmd.GoToRecord , , acNewRec
Me!Despacho = "Conforme despacho da Coordenadoria, após autuação como Notícia de Fato, encaminhar para análise os documentos sob a responsabilidade do Servidor: " & Status4Servidor
Me.StatusLocal = "Notícia de Fato Nº " & NotFatoStatus4 & ", sob a responsabilidade do Servidor: " & Status4Servidor
Me.Despacho.SetFocus
Forms!F17_NoticiasDeFato!RegAdmOrigem = NumRegAdm
Forms!F17_NoticiasDeFato!DataRegAdm = DataStatus4
Forms!F17_NoticiasDeFato!ServidorNotFato = Status4Servidor
Forms!F17_NoticiasDeFato!DataChegada = DataStatus4
Forms!F17_NoticiasDeFato!DataEntrada = DataStatus4
Forms!F17_NoticiasDeFato!IDRecebedor = IDRecebedor
Forms!F17_NoticiasDeFato!IDRegistrador = IDRegistrador
Forms!F17_NoticiasDeFato!IDDocumento = IDDocumento
Forms!F17_NoticiasDeFato!Expediente = Expediente
Forms!F17_NoticiasDeFato!NomeRemetente = NomeRemetente
Forms!F17_NoticiasDeFato!CargoRemetente = CargoRemetente
Forms!F17_NoticiasDeFato!FuncaoRemetente = FuncaoRemetente
Forms!F17_NoticiasDeFato!OrgaoRemetente = OrgaoRemetente
Forms!F17_NoticiasDeFato!SetorRemetente = SetorRemetente
Forms!F17_NoticiasDeFato!Assunto = Assunto
Forms!F17_NoticiasDeFato!StatusDOC = 11
Forms!F17_NoticiasDeFato!StatusNome = "Documento Administrativo autuado como NOTÍCIA DE FATO"
Forms!F17_NoticiasDeFato!StatusLocal = "Apoio Técnico" & " - Servidor: " & Status4Servidor 'Linha inserida em 15/03/2017
Forms!F17_NoticiasDeFato!StatusRA = 1
Forms!F17_NoticiasDeFato!TipoDistribuicao = 8
Forms!F17_NoticiasDeFato!NomeDistribuicao = "Distribuição: Apoio Técnico"
Forms!F17_NoticiasDeFato!Usuario = Usuario 'Linha inserida em 01/03/2017
Forms!F17_NoticiasDeFato!Observacao = Observacao 'Linha inserida em 14/03/2017
Forms!F16_DocAdministrativos!NotFatoStatus4 = Forms!F17_NoticiasDeFato!NumNotFato
Else
MsgBox "ALERTA!! Já existe uma NOTÍCIA DE FATO associada a este Documento Administrativo, não será possível continuar !!", vbInformation, "Sistema: Alerta"
Me.Despacho.SetFocus
Exit Sub
End If
'INSERE NOVA MANIFESTAÇÃO - INICIO - 22/03/2017 - FUNCIONOU ?? SIM
'MsgBox "ATENÇÃO!! Será inserida uma nova MANIFESTAÇÃO correspondente à NOTÍCIA DE FATO selecionada do Documento Administrativo!", vbInformation, "Sistema - Alerta"
Me.Refresh
DoCmd.OpenForm "F171_NotFato_Tramitacoes", acNormal, , , acFormAdd
DoCmd.GoToRecord , , acNewRec '1º Dados Formulário Destino para 2º Dados Formulário Origem
Forms!F171_NotFato_Tramitacoes!IDCodNotFato = Forms!F17_NoticiasDeFato!CodNotFato 'Manoel: Funcionou => Busca no Formulário "F17_NoticiasDeFato" o campo 'CodNotFato'
Forms!F171_NotFato_Tramitacoes!IDOrigemUsuario = Forms!F16_DocAdministrativos!IDRecebedor
Forms!F171_NotFato_Tramitacoes!OrigemRemetente = Forms!F16_DocAdministrativos!Status1Servidor
Forms!F171_NotFato_Tramitacoes!IDOrigemSetor = 6 'Secretaria
Forms!F171_NotFato_Tramitacoes!OrigemOrgaoPessoa = "Secretaria"
Forms!F171_NotFato_Tramitacoes!DataEnvioOrigem = Forms!F16_DocAdministrativos!DataStatus4
Forms!F171_NotFato_Tramitacoes!IDDestinoSetor = 6 'Secretaria * Comando inserido em 19/05/2019.
Forms!F171_NotFato_Tramitacoes!DestinoOrgaoPessoa = "Secretaria"
Forms!F171_NotFato_Tramitacoes!IDDestinoUsuario = Forms!F16_DocAdministrativos!IDServidorStatus4 '32: Plima * Comando inserido em 19/05/2019.
Forms!F171_NotFato_Tramitacoes!DestinoDestinatario = Forms!F16_DocAdministrativos!Status4Servidor
Forms!F171_NotFato_Tramitacoes!IDDestinoUsuario = Forms!F16_DocAdministrativos!IDServidorStatus4
Forms!F171_NotFato_Tramitacoes!IDStatus = 19 'Diretoria: Doc. Administrativo Autuado como Notícia de Fato
Forms!F171_NotFato_Tramitacoes!DespachoProvidencia = "Documento Administrativo autuado como Notícia de Fato, sob a responsabilidade do Servidor indicado, para que sejam tomadas as devidas providências."
Forms!F171_NotFato_Tramitacoes!IDRecebedor = Forms!F16_DocAdministrativos!IDServidorStatus4
Forms!F171_NotFato_Tramitacoes!NomeRecebedor = Forms!F16_DocAdministrativos!Status4Servidor
Forms!F171_NotFato_Tramitacoes!DataRecebimento = Forms!F16_DocAdministrativos!DataStatus4
Forms!F171_NotFato_Tramitacoes!LocalDocumento = "Secretaria"
Forms!F171_NotFato_Tramitacoes!CaixaPastaDoc = "Servidor: " & Forms!F16_DocAdministrativos!Status4Servidor
Forms!F171_NotFato_Tramitacoes!Usuario = Forms!F16_DocAdministrativos!IDRegistrador.Column(2) '14/02/2020: testando ... ok
Forms!F171_NotFato_Tramitacoes!UsuarioRegistro = Forms!F16_DocAdministrativos!IDServidorStatus4.Column(2) '14/02/2020: testando ... ok
Forms!F171_NotFato_Tramitacoes!BaixaTramitacao = 2 'BAIXA = NÃO * Comando inserido em 19/05/2019: por não ter dado Baixa quando de nova Tramitação em alguns Registros
' * Comando inserido em 14/02/2020: Para não dar Baixa automaticamente
DoCmd.Close acForm, Me.Name, acSaveYes 'FECHA E SALVA O FORMULÁRIO ATIVO '* Comando inserido em 02/02/2020. Retirei esse comando, mesmo assim continua a mesma coisa.
DoCmd.OpenForm "F17_NoticiasDeFato", acNormal 'ABRE O FORMULÁRIO INDICADO
End Sub
Gostaria de saber como faço para atualizar o dados em meu subformulário a partir de outro subformulário, e outro formulário principal de outra rotina para outro subformulário.
Já vi vários tópicos com esse tema e tentei ajustar para o meu, mas após diversas tentativas não consegui.
Seria em 2 situações:
1) Form principal : F13_Operacao
Subformulário 1: F134_OperacaoXApreensoesPF
Subformulário 2: F13_OperacaoXImprimeFormulariosPF
Preciso que após inserir um novo registro no Subformulário 1 o Subformulário 2 seja atualizado com os campos 'NomePessoa' e 'CPFPessoa'
No subform1: Esse novo registro em questão é quando insiro o cadastro de 1 pessoa ou mais pessoas que tem como fonte de registro o cadastro de Pessoas pelo campo 'IDPessoa'
No subform2: Tem também o campo 'IDPessoa' para haver o relacionamento baseado em uma consulta.
PS: Ambos subformulários são vinculados ao form principal pela relação Pai/Filho: CodOperacao/IDOperacao
2) PS: A rotina em questão foi feita pelo nosso colega ALEXANDRE NEVES (FEV/2017)
Form principal 1: F16_DocAdministrativos
Form principal 2: F17_NoticiasDeFato
Subformulário : F171_NotFato_Tramitacoes (relacionada com Form principal 2)
A rotina consiste em importar os dados de um registro do Form principal 1 para o Form principal 2 = Até aqui funciona perfeitamente.
Também ao importar os dados de um form para outro, ao mesmo tempo cria no subformulário do Form principal 2 um registro adicionando dados e abre o form principal 2 e mostra esse novo registro no subformulário = até aqui funciona perfeitamente.
A questão é: essa rotina estava funcionando perfeitamente durante esses quase 3 anos, ou seja, mostrava o form principal 2 e ao clicar no subformulário visualizava o mesmo completo, no entanto, sem que eu tivesse feito qualquer alteração relevante no código, apenas acrescentei alguns comandos que não alteraram em nada a visualização do registro até então (conforme mostrado abaixo), no entanto, de um mês para cá não mostra mais o subformulário com o novo registro inserido, mostra apenas uma tela toda em cinza e vazia sem os dados ou qualquer coisa, mas se eu fechar tudo, e abrir o form principal 2, mostra o registro que foi adicionado no subformulário normalmente, ou seja, está gravando o registro quando da importação/inclusão, mas não mostra o registro no subformulário quando da importação/inserção de registro novo no subformulário.
PS: A rotina completa é esta para importar/adicionar e mostrar o registro no subformulário:
Private Sub IDMembroStatus4_AfterUpdate() 'Status 4 - Rotina: 15/02/2017 + 22/03/2017
'Rotina com ajuda de ALEXANDRE NEVES (Fórum Máximo Acess) em FEV/2017
If IsNull(DataStatus4) Or IsEmpty(DataStatus4) Then
MsgBox "Falta informar a DATA DO STATUS!", , "Sistema: Validação de Campo"
Me.DataStatus4.SetFocus
Exit Sub
End If
If IsNull(IDServidorStatus4) Or IsEmpty(IDServidorStatus4) Then
MsgBox "Falta informar o(a) SERVIDOR(a) responsável para a Autuação!", , "Sistema: Validação de Campo"
Me.IDServidorStatus4.SetFocus
Exit Sub
End If
Me!Status4Membro = IDMembroStatus4.Column(1)
Dim i As Integer
Dim sMsg As String
Beep
sMsg = "Este Documento Administrativo será autuado como uma nova NOTÍCIA DE FATO!!" & vbCr & " " & vbCr & _
"ATENÇÃO!! Verifique se existe Anexo(s) para copiar via rotina para a Notícia de Fato gerada." _
& " " & vbCr & " " & vbCr & "Confirma esta Operação ?"
i = MsgBox(sMsg, vbYesNo, "SISTEMA - Confirmação de Ação")
If i = vbNo Then
Me.Status4 = Null
Me.DataStatus4 = Null
Me.IDServidorStatus4 = Null
Me.Status4Servidor = Null
Me.IDMembroStatus4 = Null
Me.Status4Membro = Null
Me.NotFatoStatus4 = Null
Me.Observacao.SetFocus
Exit Sub
ElseIf IsNull(Me.NotFatoStatus4) = True Then
DoCmd.OpenForm "F17_NoticiasDeFato", acNormal, , , acFormAdd
DoCmd.GoToRecord , , acNewRec
Me!Despacho = "Conforme despacho da Coordenadoria, após autuação como Notícia de Fato, encaminhar para análise os documentos sob a responsabilidade do Servidor: " & Status4Servidor
Me.StatusLocal = "Notícia de Fato Nº " & NotFatoStatus4 & ", sob a responsabilidade do Servidor: " & Status4Servidor
Me.Despacho.SetFocus
Forms!F17_NoticiasDeFato!RegAdmOrigem = NumRegAdm
Forms!F17_NoticiasDeFato!DataRegAdm = DataStatus4
Forms!F17_NoticiasDeFato!ServidorNotFato = Status4Servidor
Forms!F17_NoticiasDeFato!DataChegada = DataStatus4
Forms!F17_NoticiasDeFato!DataEntrada = DataStatus4
Forms!F17_NoticiasDeFato!IDRecebedor = IDRecebedor
Forms!F17_NoticiasDeFato!IDRegistrador = IDRegistrador
Forms!F17_NoticiasDeFato!IDDocumento = IDDocumento
Forms!F17_NoticiasDeFato!Expediente = Expediente
Forms!F17_NoticiasDeFato!NomeRemetente = NomeRemetente
Forms!F17_NoticiasDeFato!CargoRemetente = CargoRemetente
Forms!F17_NoticiasDeFato!FuncaoRemetente = FuncaoRemetente
Forms!F17_NoticiasDeFato!OrgaoRemetente = OrgaoRemetente
Forms!F17_NoticiasDeFato!SetorRemetente = SetorRemetente
Forms!F17_NoticiasDeFato!Assunto = Assunto
Forms!F17_NoticiasDeFato!StatusDOC = 11
Forms!F17_NoticiasDeFato!StatusNome = "Documento Administrativo autuado como NOTÍCIA DE FATO"
Forms!F17_NoticiasDeFato!StatusLocal = "Apoio Técnico" & " - Servidor: " & Status4Servidor 'Linha inserida em 15/03/2017
Forms!F17_NoticiasDeFato!StatusRA = 1
Forms!F17_NoticiasDeFato!TipoDistribuicao = 8
Forms!F17_NoticiasDeFato!NomeDistribuicao = "Distribuição: Apoio Técnico"
Forms!F17_NoticiasDeFato!Usuario = Usuario 'Linha inserida em 01/03/2017
Forms!F17_NoticiasDeFato!Observacao = Observacao 'Linha inserida em 14/03/2017
Forms!F16_DocAdministrativos!NotFatoStatus4 = Forms!F17_NoticiasDeFato!NumNotFato
Else
MsgBox "ALERTA!! Já existe uma NOTÍCIA DE FATO associada a este Documento Administrativo, não será possível continuar !!", vbInformation, "Sistema: Alerta"
Me.Despacho.SetFocus
Exit Sub
End If
'INSERE NOVA MANIFESTAÇÃO - INICIO - 22/03/2017 - FUNCIONOU ?? SIM
'MsgBox "ATENÇÃO!! Será inserida uma nova MANIFESTAÇÃO correspondente à NOTÍCIA DE FATO selecionada do Documento Administrativo!", vbInformation, "Sistema - Alerta"
Me.Refresh
DoCmd.OpenForm "F171_NotFato_Tramitacoes", acNormal, , , acFormAdd
DoCmd.GoToRecord , , acNewRec '1º Dados Formulário Destino para 2º Dados Formulário Origem
Forms!F171_NotFato_Tramitacoes!IDCodNotFato = Forms!F17_NoticiasDeFato!CodNotFato 'Manoel: Funcionou => Busca no Formulário "F17_NoticiasDeFato" o campo 'CodNotFato'
Forms!F171_NotFato_Tramitacoes!IDOrigemUsuario = Forms!F16_DocAdministrativos!IDRecebedor
Forms!F171_NotFato_Tramitacoes!OrigemRemetente = Forms!F16_DocAdministrativos!Status1Servidor
Forms!F171_NotFato_Tramitacoes!IDOrigemSetor = 6 'Secretaria
Forms!F171_NotFato_Tramitacoes!OrigemOrgaoPessoa = "Secretaria"
Forms!F171_NotFato_Tramitacoes!DataEnvioOrigem = Forms!F16_DocAdministrativos!DataStatus4
Forms!F171_NotFato_Tramitacoes!IDDestinoSetor = 6 'Secretaria * Comando inserido em 19/05/2019.
Forms!F171_NotFato_Tramitacoes!DestinoOrgaoPessoa = "Secretaria"
Forms!F171_NotFato_Tramitacoes!IDDestinoUsuario = Forms!F16_DocAdministrativos!IDServidorStatus4 '32: Plima * Comando inserido em 19/05/2019.
Forms!F171_NotFato_Tramitacoes!DestinoDestinatario = Forms!F16_DocAdministrativos!Status4Servidor
Forms!F171_NotFato_Tramitacoes!IDDestinoUsuario = Forms!F16_DocAdministrativos!IDServidorStatus4
Forms!F171_NotFato_Tramitacoes!IDStatus = 19 'Diretoria: Doc. Administrativo Autuado como Notícia de Fato
Forms!F171_NotFato_Tramitacoes!DespachoProvidencia = "Documento Administrativo autuado como Notícia de Fato, sob a responsabilidade do Servidor indicado, para que sejam tomadas as devidas providências."
Forms!F171_NotFato_Tramitacoes!IDRecebedor = Forms!F16_DocAdministrativos!IDServidorStatus4
Forms!F171_NotFato_Tramitacoes!NomeRecebedor = Forms!F16_DocAdministrativos!Status4Servidor
Forms!F171_NotFato_Tramitacoes!DataRecebimento = Forms!F16_DocAdministrativos!DataStatus4
Forms!F171_NotFato_Tramitacoes!LocalDocumento = "Secretaria"
Forms!F171_NotFato_Tramitacoes!CaixaPastaDoc = "Servidor: " & Forms!F16_DocAdministrativos!Status4Servidor
Forms!F171_NotFato_Tramitacoes!Usuario = Forms!F16_DocAdministrativos!IDRegistrador.Column(2) '14/02/2020: testando ... ok
Forms!F171_NotFato_Tramitacoes!UsuarioRegistro = Forms!F16_DocAdministrativos!IDServidorStatus4.Column(2) '14/02/2020: testando ... ok
Forms!F171_NotFato_Tramitacoes!BaixaTramitacao = 2 'BAIXA = NÃO * Comando inserido em 19/05/2019: por não ter dado Baixa quando de nova Tramitação em alguns Registros
' * Comando inserido em 14/02/2020: Para não dar Baixa automaticamente
DoCmd.Close acForm, Me.Name, acSaveYes 'FECHA E SALVA O FORMULÁRIO ATIVO '* Comando inserido em 02/02/2020. Retirei esse comando, mesmo assim continua a mesma coisa.
DoCmd.OpenForm "F17_NoticiasDeFato", acNormal 'ABRE O FORMULÁRIO INDICADO
End Sub