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]Chamar relatório através da listbox

    Compartilhe

    moacirfj
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 52
    Registrado : 23/12/2013

    [Resolvido]Chamar relatório através da listbox

    Mensagem  moacirfj em Qua 23 Abr 2014, 13:36

    Bom dia amigos,

    Tenho um formulário que é um menu principal criado no formato de menu TreeView, ao clicar no item ele abre uma listbox, nesta lista tenho alguns itens que são relatórios e necessito que seja aberto em visualizar impressão, estou utilizando as instruções abaixo, porém a instrução está retornando erro. Como poderia solucionar este problema.

    Private Function AbreObjetos(frm4 As Form)
    'Insere a função OpcaoMenu no evento "ao clicar" da listbox
    Dim ctl4 As Control
    For Each ctl4 In frm4.Controls
    Select Case ctl4.ControlType
    Case acListBox
    ctl4.OnClick = "=OpcaoMenu(" & ctl4.Name & ")"
    End Select
    Next
    End Function

    Private Function OpcaoMenu(lista As ListBox)
    'Abre o formulário listado na 2ª coluna da listbox clicada
    DoCmd.OpenReport lista.Column(1)
    End Function



    E no evento ao carregar do form:


    Call AbreObjetos(Me)
    avatar
    Leandro
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1578
    Registrado : 12/11/2009

    Re: [Resolvido]Chamar relatório através da listbox

    Mensagem  Leandro em Qua 23 Abr 2014, 17:49

    Moacir quando eu desenvolvi esse menu eu o usava para abrir apenas formulário, para sua necessidade faça o seguinte:

    Na tabela onde você insere os nomes dos objetos, crie mais uma coluna com o tipo de objeto, exemplo:

    Formulários - 1
    Relatórios - 2

    Insira mais essa coluna na listbox e dentro da função OpcaoMenu insira um If, exemplo:

    Private Function OpcaoMenu(lista As ListBox)
    'Abre o Formulário ou Relatório listado na 2ª coluna da listbox clicada
    If lista.Column(4) = 1 Then 'Informei como coluna 4 para exemplo
       DoCmd.OpenForm lista.Column(1)
       Else
       DoCmd.OpenReport lista.Column(1)
    End If
    End Function


    .................................................................................




    Algumas soluções em access



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

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

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

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



    moacirfj
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 52
    Registrado : 23/12/2013

    Re: [Resolvido]Chamar relatório através da listbox

    Mensagem  moacirfj em Ter 15 Jul 2014, 14:09

    OK, Obrigado

    Att.

    Moacir

      Data/hora atual: Qua 13 Dez 2017, 16:39