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

    Fechar Forms Automatico quando fechar o Access

    Compartilhe

    Carlos.Junior
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 12/01/2018

    Fechar Forms Automatico quando fechar o Access

    Mensagem  Carlos.Junior em Qua 14 Mar 2018, 9:40 am

    Bom dia, estou com o seguinte problema:

    Quando eu fecho o access com o formulário aberto ele me aponta um erro " O Gestão de Compras não pode localizar o formulário referenciado "Requisições".
    isso acontece por que no evento Ao Fechar existe uma função com referencia ao formulário Requisições, quando fecha o access com o formulário aberto ele se perde.

    Eu preciso de algum método que não permita encerrar o Access se algum formulário esteja aberto, ou forçar o fechamento dos formulários antes de fechar o Access.

    Obrigado.
    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3535
    Registrado : 06/11/2009

    Re: Fechar Forms Automatico quando fechar o Access

    Mensagem  Assis em Qua 14 Mar 2018, 9:49 am

    Boa tarde

    E o formulário "Requisições" existe na BD ?

    Cole aqui todo o acontecimento do evento ao fechar o dito formulário

    Aguardo


    .................................................................................
    *** Só sei que nada sei ***

    Carlos.Junior
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 12/01/2018

    Re: Fechar Forms Automatico quando fechar o Access

    Mensagem  Carlos.Junior em Qua 14 Mar 2018, 9:54 am

    Código:
    Private Sub Form_Close()
    On Error GoTo TrataErro
    Dim strSQL As String
    Dim vTemItem As Long

    If Not IsNull(Me.IdRequisição) Then
        vTemItem = Nz(DCount("Item", "[Itens da Requisição]", "IdRequisição = " & Me.IdRequisição), 0)
    End If

    If Not IsNull(Me.IdRequisição) And vTemItem = 0 Then
        strSQL = "Delete Requisições.IdRequisição " & _
                 "FROM Requisições " & _
                 "WHERE (((Requisições.IdRequisição)= " & Me.IdRequisição & "))"
                
        DoCmd.SetWarnings False
        DoCmd.RunSQL strSQL
        DoCmd.SetWarnings True
    End If
    Call AbrirHistoricoDePedidosDoInsumoNaRequisicaoPopUp
    DoCmd.Close

    TrataErro:
        If Err.Number <> 0 Then
            MsgBox "Erro nº " & Err.Number & vbLf & Err.Description, vbCritical, "Requisição"
        End If
    End Sub
    ˜r›tw«tCC;;èJ)Ö€
    „

    Código:
    Public Sub AbrirHistoricoDePedidosDoInsumoNaRequisicaoPopUp(Optional ByVal vIdMaterial As Long)
        On Error GoTo TrataErro
        
        ' Habilita parametro para abrir popup caso não tenha
        Call HabilitarHistoricoDePedidosDoInsumoNaRequisicaoPopUp
        
        If Nz(DLookup("[ParametroValor]", "Parametros", "[ParametroNome]= 'HabilitaHistoricoCompraInsumosAoCadastrarNovaRequisicao'"), 0) <> 0 Then
            
            DoCmd.OpenForm "HistoricoDePedidosDoInsumoNaRequisicaoPopUp", acNormal, , , , acWindowNormal
            Forms![HistoricoDePedidosDoInsumoNaRequisicaoPopUp]![txtDtInicio] = DateAdd("D", -RetornaQtdDiasParaVerificacaoPedidosDoInsumo(), Date)
            Forms![HistoricoDePedidosDoInsumoNaRequisicaoPopUp]![txtDtFim] = Date
            Forms![HistoricoDePedidosDoInsumoNaRequisicaoPopUp]![txtObra] = Forms![Requisições]![Obra]
            Forms![HistoricoDePedidosDoInsumoNaRequisicaoPopUp]![txtIdReq] = Forms![Requisições]![IdRequisição]
            If vIdMaterial > 0 Then
                    Forms![HistoricoDePedidosDoInsumoNaRequisicaoPopUp]![txtIdMaterial] = vIdMaterial
            End If
            If Nz(DCount("[Código]", "[Rel_HistoricoDePedidosDoInsumoNaRequisicaoPopUp]"), 0) = 0 Then
                DoCmd.Close acForm, "HistoricoDePedidosDoInsumoNaRequisicaoPopUp"
            Else
                Forms![HistoricoDePedidosDoInsumoNaRequisicaoPopUp].Requery
            End If
        End If
        
    TrataErro:
            If Err.Number <> 0 Then
               MsgBox Error(Err.Number), vbCritical, "Histórico de Pedidos"
               Exit Sub
            End If

    End Sub
    ;;èJ)Ö€
    „

    O problema da quando ele chama a função AbrirHistoricoDePedidosDoInsumoNaRequisicaoPopUp

    Carlos.Junior
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 12/01/2018

    Re: Fechar Forms Automatico quando fechar o Access

    Mensagem  Carlos.Junior em Qua 14 Mar 2018, 10:01 am

    pelo que eu entendi, o access encerra antes de terminar a função. Ele fecha o formulário Requisições, depois abre a função, a função procura o form mas ele já fechou
    ai que da o problema
    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3535
    Registrado : 06/11/2009

    Re: Fechar Forms Automatico quando fechar o Access

    Mensagem  Assis em Qua 14 Mar 2018, 10:13 am

    Teste

    [Você precisa estar registrado e conectado para ver esta imagem.]


    .................................................................................
    *** Só sei que nada sei ***

    Carlos.Junior
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 12/01/2018

    Re: Fechar Forms Automatico quando fechar o Access

    Mensagem  Carlos.Junior em Qua 14 Mar 2018, 10:19 am

    O erro persiste.

      Data/hora atual: Sex 19 Out 2018, 6:24 pm