MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


    Atualizar Subformulario X Subformulario e 2 Form principal X Subformulario

    avatar
    vileman
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 579
    Registrado : 25/05/2011

    Atualizar Subformulario X Subformulario e 2 Form principal X Subformulario Empty Atualizar Subformulario X Subformulario e 2 Form principal X Subformulario

    Mensagem  vileman em 3/3/2020, 13:25

    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

      Data/hora atual: 5/4/2020, 14:47