MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


3 participantes

    [Resolvido]Relatório de consulta

    avatar
    eristonmattos
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 194
    Registrado : 05/09/2018

    [Resolvido]Relatório de consulta Empty [Resolvido]Relatório de consulta

    Mensagem  eristonmattos 20/11/2018, 18:58

    Boa tarde aos caros,

    Estou com problema na impressão de um relatório gerado após uma consulta em um formulário,
    usei a função Dlookup no formulário, assim ele me retorna todos os dados de determinada pessoa
    quando insiro o número do CNS dela, coloquei um botão pra abrir o relatório, relatório aberto,
    aparecem todos os dados da consulta, mas na impressão só aparece o erro "#Nome?" no lugar dos
    dados... A chave primária é NUM_CNS...

    O formulário de consulta é o "Por Usuário" - Consulta Individual

    Como resolver isso?
    coloquei os prints em zip anexos, mas dá aquivo vazio aqui...
    Uso o Access 2007 e o 2010.
    Obs.: tentei exportar pra PDF, mas tbm aparece o mesmo erro no pdf.

    Eis a função colocada no evento após atualizar no formulário:

    Private Sub txt_NUM_CNS_AfterUpdate()
    Me.txt_NOME = DLookup("NOME", "Tbl_Processo", "NUM_CNS ='" & Me.txt_NUM_CNS & "'")
    Me.txt_DT_NASC = DLookup("DT_NASC", "Tbl_Processo", "NUM_CNS ='" & Me.txt_NUM_CNS & "'")
    Me.txt_DT_INICIO = DLookup("DT_INICIO", "Tbl_Processo", "NUM_CNS ='" & Me.txt_NUM_CNS & "'")
    Me.txt_CPF = DLookup("CPF", "Tbl_Processo", "NUM_CNS ='" & Me.txt_NUM_CNS & "'")
    Me.txt_CIDADE = DLookup("CIDADE", "Tbl_Processo", "NUM_CNS ='" & Me.txt_NUM_CNS & "'")
    Me.txt_Contato = DLookup("CONTATO", "Tbl_Processo", "NUM_CNS ='" & Me.txt_NUM_CNS & "'")
    Me.txt_OCUPACAO = DLookup("OCUPACAO", "Tbl_Processo", "NUM_CNS ='" & Me.txt_NUM_CNS & "'")
    Me.txt_TIPO_EMPRESA = DLookup("TIPO_EMPRESA", "Tbl_Processo", "NUM_CNS ='" & Me.txt_NUM_CNS & "'")
    Me.txt_NOME_EMPRESA = DLookup("NOME_EMPRESA", "Tbl_Processo", "NUM_CNS ='" & Me.txt_NUM_CNS & "'")
    Me.txt_CNPJ_CPF = DLookup("CNPJ_CPF", "Tbl_Processo", "NUM_CNS ='" & Me.txt_NUM_CNS & "'")
    Me.txt_STATUS = DLookup("STATUS", "Tbl_Processo", "NUM_CNS ='" & Me.txt_NUM_CNS & "'")
    Me.txt_NUM_CAIXA = DLookup("NUM_CAIXA", "Tbl_Processo", "NUM_CNS ='" & Me.txt_NUM_CNS & "'")
    Me.txt_PRATELEIRA = DLookup("PRATELEIRA", "Tbl_Processo", "NUM_CNS ='" & Me.txt_NUM_CNS & "'")
    Me.txt_ULT_ANDAMENTO = DLookup("ULT_ANDAMENTO", "Tbl_Processo", "NUM_CNS ='" & Me.txt_NUM_CNS & "'")
    Me.txt_SEXO = DLookup("SEXO", "Tbl_Processo", "NUM_CNS ='" & Me.txt_NUM_CNS & "'")

    End Sub

    E quando imprime, aparece assim lá:

    CNS do Usuário: Nome: Data de Nasc: Data de Início:
    #Nome? #Nome? #Nome? #Nome?
    CPF: #Nome? Cidade: #Nome? Telelefone: ( ) #Nome?
    Ocupação: #Nome? Nome da Empresa: #Nome?
    CNPJ/CPF: #Nome? Situação: #Nome? Nº da Caixa: #No Prateleira: #No
    Último Andamento: #Nome?

    Eis o link para quem quiser olhar o BD: https://www.dropbox.com/s/s84l9uwpsqult7s/PROC_CEREST%20.zip?dl=0

    Att,
    avatar
    eristonmattos
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 194
    Registrado : 05/09/2018

    [Resolvido]Relatório de consulta Empty Relatório de consulta

    Mensagem  eristonmattos 21/11/2018, 12:36

    Esqueci de deixar a senha do BD, mil perdões aos membros.

    SENHA: 123

    Att,
    avatar
    FabioGO
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 124
    Registrado : 22/08/2012

    [Resolvido]Relatório de consulta Empty Re: [Resolvido]Relatório de consulta

    Mensagem  FabioGO 21/11/2018, 13:23

    Sua macro do botão Relatório está fazendo o seguinte:

    Abre Rel_Individual para visualização

    Fecha Frm_Consulta_Individual

    Após isso, quando você manda imprimir o relatório, devido os campos dele estarem acoplados ao formulário que é fechado após a visualização, os campos deixam de conter as informações do formulário.

    Se colocar a macro para imprimir direto em vez de visualizar a impressão, ela vai imprimir com todos os dados, faça o teste.
    avatar
    eristonmattos
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 194
    Registrado : 05/09/2018

    [Resolvido]Relatório de consulta Empty Relatório de consulta

    Mensagem  eristonmattos 21/11/2018, 14:27

    FabioGO

    Rapaz, imprime sim, mas imprime 12 folhas iguais automaticamente.

    Algum código que imprima somente essa única página de relatório?

    Abraço.
    avatar
    FabioGO
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 124
    Registrado : 22/08/2012

    [Resolvido]Relatório de consulta Empty Re: [Resolvido]Relatório de consulta

    Mensagem  FabioGO 21/11/2018, 14:30

    Isso acontece porque em seu relatório, a origem dos dados esta puxando da tabela, retire para que imprima somente o conteúdo do formulário
    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7304
    Registrado : 11/05/2010

    [Resolvido]Relatório de consulta Empty Re: [Resolvido]Relatório de consulta

    Mensagem  vieirasoft 21/11/2018, 17:44

    E porque não por código vba? Crie um botão no formulário onde estão os dados que quer ver no relatório e no evento clique do botão: Nota (ID será a chave primária ou o nome do seu campo que faz isto)

    On Error Resume Next
    Dim strDocName As String
    Dim i As String
    i = MsgBox("Deseja visualizar a ficha deste xxxxxxxxxxx?", vbYesNo, "Confirmar")
    If i = vbYes Then
    Dim strFilter As String
    strDocName = "NomeDoRelatório"
    strFilter = "ID= Forms!NomeDoFormulário!ID"
    DoCmd.OpenReport strDocName, acViewPreview, , strFilter
    End If

    Obviamente que existirá uma consulta que contém os dados que existem no formulário e à qual o relatório está ligado, certo!
    avatar
    eristonmattos
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 194
    Registrado : 05/09/2018

    [Resolvido]Relatório de consulta Empty Relatório de consulta

    Mensagem  eristonmattos 22/11/2018, 14:45

    Vieira, sobre ter uma consulta que contenha os dados desse formulário, eu não tenho nenhuma,
    o formulário, usa somente um tipo de evento, que é a função Dlookup, onde se pode pesquisar por
    Número do CNS do usuário, pelo nome do usuário e pelo CPF do usuário, a chave primária que uso é
    o CNS, pq ele não se repete...

    Enfim, mudei um pouco o seu código, ficando assim:

    - No botão que visualiza o relatório

    Private Sub Nomedobotao_Click()
    On Error Resume Next
    DoCmd.OpenReport "Nomedorelatorio", acViewPreview
    DoCmd.RunCommand acCmdZoom100
    DoCmd.RunCommand acCmdPreviewOnePage
    DoCmd.Close acForm, "Nomedoformulario"

    End Sub

    - No botão que imprime o relatório

    Private Sub Nomedobotao_Click()
    On Error Resume Next
    Dim strDocName As String
    Dim strFilter As String
    If MsgBox("Deseja imprimir esse registro?", vbQuestion + vbYesNo, "Imprimir") = vbYes Then
    strDocName = "Nomedorelatorio"
    strFilter = "Chaveprimaria=Forms!Nomedoformulario!Nomedocampochaveprimaria"
    DoCmd.OpenReport strDocName, acViewNormal, , strFilter

    If Err = 2501 Then
    Err.Clear
    End If
    DoCmd.Close acReport, "Nomedorelatorio"
    End If

    End Sub

    Caso algum membro possa precisar compartilhar, está aí acima...

    Imprime uma segunda página do relatório sem dados, mas tudo bem,
    é melhor que 12...
    avatar
    FabioGO
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 124
    Registrado : 22/08/2012

    [Resolvido]Relatório de consulta Empty Re: [Resolvido]Relatório de consulta

    Mensagem  FabioGO 22/11/2018, 15:56

    A segunda página que está imprimindo é porque as margens do relatório não devem estar configuradas corretamente e deve estar ultrapassando o tamanho.

    Para não imprimir as 12 folhas iguais era só ter tirado o vinculo do relatório com a tabela que você havia colocado na origem dos dados do relatório.

    Não quis te dar a sugestão de usar vba para não te confundir pela forma que você fez com a macro.

    Mas se já resolveu a questão está ótimo cheers
    avatar
    eristonmattos
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 194
    Registrado : 05/09/2018

    [Resolvido]Relatório de consulta Empty Re: [Resolvido]Relatório de consulta

    Mensagem  eristonmattos 26/11/2018, 12:40

    cheers cheers cheers

    Conteúdo patrocinado


    [Resolvido]Relatório de consulta Empty Re: [Resolvido]Relatório de consulta

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 13:06