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

    [Resolvido]Imprimir por form diferente após Filtragem de dados

    Compartilhe
    avatar
    Jedder
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 58
    Registrado : 30/06/2012

    [Resolvido]Imprimir por form diferente após Filtragem de dados

    Mensagem  Jedder em Seg 17 Jul 2017, 01:27

    Boa noite à todos!
    Tenho um formulário de filtragem que executo códigos de impressão pelo mesmo.
    Podem ser imprimir ou visualizar o registro marcado ou todos os registros existentes na filtragem.
    Até aqui tudo bem....
    Como necessito criar outros botões de impressão e visualização de mais de um relatório, resolvi criar um outro form só com os botões para impressão e visualização do referido formulário de filtragem.
    Acontece que estou "apanhando" com um dos códigos, ou seja:
    No formulário de filtragem, ele imprimi/visualiza todos os registros normalmente, mas no formulário de "botões", não.
    Segue um exemplo para download do BD para análise através deste link, pois o tamanho dele excedeu o limite do fórum.

    [Você precisa estar registrado e conectado para ver este link.]

    Espero que possam me ajudar!

    Obrigado!!!

    Phillip_Junior
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 179
    Registrado : 09/12/2016

    Re: [Resolvido]Imprimir por form diferente após Filtragem de dados

    Mensagem  Phillip_Junior em Seg 17 Jul 2017, 06:07

    Olá


    Observe:

    If Len("CodServID =") > 0 Then

    erro 1
    Nessa linha vc se refere a um campo que não existe no frmPrintFiltrarDados.
    Se temos que se referir a um campo em outro formulário, precisamos informar ao comando que formulário é esse.

    No seu caso:

    If Len(Forms!frmFiltrarDados.CodServID) > 0 Then

    erro 2
    DoCmd.OpenReport "relServExecInventPCNumRecibo", acViewPreview, , "CodServID =" & Forms!frmFiltrarDados.CodServID, , Me.Filter

    Nessa linha ha dois erros, no primeiro vc está tentando gerar o relatório realizando outra filtragem, uma vez que já existe uma filtragem no seu formulário contínuo e
    no segundo erro vc está tentando filtrar algo que não existe no frmPrintFiltrarDados usando o (Me.Filter). Algo do tipo o mesmo que referência a meu filtro, mas... no formulário em execução.

    Uma vez já existindo um filtro, para chama-lo de outro form, Primeiro passamos o foco para o form que precisamos buscar esse filtro

    No seu caso?

    Forms!frmFiltrarDados.SetFocus

    E depois basta
    ao invés de tentar executar outro filtro, informar onde esta o filtro já executado, no seu caso ficaria assim:

    DoCmd.OpenReport "relServExecInventPCNumRecibo", acViewPreview, , Forms!frmFiltrarDados.Filter


    Segue o código alterado



    Private Sub cmdVisualTodos_Click()
    On Error GoTo trataerro

    DoCmd.OpenForm "frmFiltrarDadosTXT"

    Dim filtro As String

    If Len(Forms!frmFiltrarDados.CodServID) > 0 Then
    filtro = ""
    End If
    Forms!frmFiltrarDados.SetFocus
    DoCmd.OpenReport "relServExecInventPCNumRecibo", acViewPreview, , Forms!frmFiltrarDados.Filter

    DoCmd.Maximize

    DoCmd.Close acForm, "frmPrintFiltrarDados"

    sair:
    Exit Sub
    trataerro:
    If Err.Number = 2501 Then
    DoCmd.Restore
    End If
    Resume sair:

    End Sub



    Espero que dê tudo certo.

    Abraços e sucesso amigo



    .................................................................................
    Phillip_Junior
    Analista de Sistemas
    avatar
    Jedder
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 58
    Registrado : 30/06/2012

    Re: [Resolvido]Imprimir por form diferente após Filtragem de dados

    Mensagem  Jedder em Seg 17 Jul 2017, 13:25

    Bom dia, Phillip Junior!
    Muito obrigado!
    Não só por resolver, mas pela aula.
    Estou aprendendo, sabia que estava errado, mas não sabia como resolver, pois não tinha o conhecimento que você me passou.
    Agora eu passei a entender um pouco mais, graças a sua explicação didática e clara.

    Obrigado mesmo, e abraços e sucesso!!!

    Phillip_Junior
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 179
    Registrado : 09/12/2016

    Re: [Resolvido]Imprimir por form diferente após Filtragem de dados

    Mensagem  Phillip_Junior em Seg 17 Jul 2017, 13:42

    Que bom q ajudou Jedder. Fico feliz

    Obrigado pelo retorno.
    Fórum agradece.
    Abraços


    .................................................................................
    Phillip_Junior
    Analista de Sistemas

      Data/hora atual: Sab 18 Nov 2017, 08:06