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

    Como Referenciar uma tabela que aparece em um formulário dividido?

    Compartilhe
    alantaru
    alantaru
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 49
    Registrado : 04/10/2018

    Como Referenciar uma tabela que aparece em um formulário dividido?

    Mensagem  alantaru em 12/11/2018, 11:38

    Bom dia.
    Criei um formulário dividido no Access 2010, contendo na parte de cima alguns campos de texto e botões e na parte de baixo uma tabela (tabRota).
    O objetivo deste formulário é gerar um relatório filtrado a partir da tabela tabRota, com apenas os registros filtrados no formulário.

    Mas não sei como referenciar (no vba) a tabela. Quando eu crio um formulário normalmente e acrescento nele o controle "Subformulário/Subrelatório", este aparece com um nome, porém quando eu crio um formulário dividido, não consigo encontrar o nome do controle da tabela dentro das propriedades do formulário.

    Sou iniciante no Access, não sei se expliquei direito. Alguém poderia me ajudar? Desde já obrigado!
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10439
    Registrado : 04/11/2009

    Re: Como Referenciar uma tabela que aparece em um formulário dividido?

    Mensagem  JPaulo em 12/11/2018, 12:20

    Olá;

    Um formulario dividido ou não, possue o "RecordSource" ou "Fonte de Registo", que pode ser o nome da tabela ou SQL á tabela ("select * from ...").

    Para abrir um relatório filtrado, apenas terá de dar-lhe o filtro ou os filtros.

    Código:
    Private Sub cmdAbrirRelatorio_Click()
     DoCmd.OpenReport "SeuRelatório", acViewPreview, , "SeuCampoNoRelatorio = " & Me.SeuCampoNoFormulario
    End Sub


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Utilize o Sistema de Busca do Fórum...
    102 Códigos VBA Gratuitos...
    Instruções SQL como utilizar...
    alantaru
    alantaru
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 49
    Registrado : 04/10/2018

    Re: Como Referenciar uma tabela que aparece em um formulário dividido?

    Mensagem  alantaru em 13/11/2018, 09:31

    Obrigado, JPaulo! Essa parte de abrir o relatório filtrado deu certo!
    Mas o que eu preciso era algo mais complicado; vou tentar explicar.

    Eu possuo uma tabela "tabRota". Esta tabela é mais ou menos fixa na quantidade de registros, porém eles são frequentemente atualizados.

    Ela contém registros de impressoras e das entregas que eu realizo diariamente para os setores onde se encontram essas impressoras.

    Eu utilizo esta tabela para programar uma rota de entregas. Então eu preciso sempre estar imprimindo um relatório filtrado desta tabela.

    Minha idéia é criar um formulário (contendo uma folha de dados desta tabela tabRota) onde o usuário poderá filtrar dados na tabela utilizando caixas de combinação e, à medida em que vai filtrando, a própria folha de dados existente na planilha vai sendo filtrada e exibindo apenas os registros filtrados no próprio formulário.

    Então, quando o usuário estiver satisfeito com o filtro, ele clica num botão de gerar relatório e este relatório será o filtro que ele acabou de aplicar.
    alantaru
    alantaru
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 49
    Registrado : 04/10/2018

    Re: Como Referenciar uma tabela que aparece em um formulário dividido?

    Mensagem  alantaru em 14/11/2018, 18:05

    Acabo de conseguir resolver parte meu problema! Quero compartilhar aqui, pois foi bem complicado, e talvez alguém que tenha tido a mesma dúvida que eu possa ser ajudado.

    Descobri que o que eu precisava era de um formulário do tipo "Vários Itens", pois estes formulários exibem um tipo de folha de dados simples em sua própria estrutura.

    Meu objetivo é que o usuário conseguisse filtrar os registros desta folha de dados a partir de caixas de listagem, selecionando um ou mais campos nessas caixas e, em tempo real, a folha de dados fosse sendo filtrada.

    Então, assim que estivesse satisfeito, o usuário poderia clicar em "Gerar Relatório" e aquele filtro seria aplicado para a geração do relatório.

    Eu consegui encontrar fragmentos de códigos e juntá-los para criar uma maneira de filtrar  a folha de dados com múltiplos critérios utilizando as caixas de listagem. Segue o código utilizado:

    Código:
    Private Sub clsModelo_AfterUpdate()
        Dim varItem As Variant
        Dim strTemp As String

        Select Case Me.clsModelo.ItemsSelected.Count
            Case 0
                Me.FilterOn = False
            Case Else
                For Each varItem In Me.ActiveControl.ItemsSelected
                    strTemp = strTemp & "InStr([Modelo],""" & Me.ActiveControl.ItemData(varItem) & """)>0 Or "
                Next
                
                Me.Filter = Left(strTemp, Len(strTemp) - 4)
                Me.FilterOn = True
        End Select

    End Sub

    Ou seja, à medida em que vou clicando nos itens da clsModelo, vai atualizando a folha de dados existente no formulário.
    Só resta uma dúvida:
    Eu consegui fazer esse filtro para uma coluna (neste caso a coluna Modelo). Como eu poderia fazer para filtrar mais colunas na folha de dados, utilizando várias caixas de listagem?

    E após filtrar tudo, gostaria de saber como devo criar o botão de "gerar relatório" para pegar tudo que foi filtrado e jogar no relatório.
    Desde já obrigado!
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10439
    Registrado : 04/11/2009

    Re: Como Referenciar uma tabela que aparece em um formulário dividido?

    Mensagem  JPaulo em 15/11/2018, 13:14

    Penso que o amigo necessita é disto;

    Teste e retorne por favor;

    Download




    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Utilize o Sistema de Busca do Fórum...
    102 Códigos VBA Gratuitos...
    Instruções SQL como utilizar...
    alantaru
    alantaru
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 49
    Registrado : 04/10/2018

    Re: Como Referenciar uma tabela que aparece em um formulário dividido?

    Mensagem  alantaru em 20/11/2018, 11:10

    Era exatamente o que eu estava procurando!
    Muito obrigado pela ajuda!
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10439
    Registrado : 04/11/2009

    Re: Como Referenciar uma tabela que aparece em um formulário dividido?

    Mensagem  JPaulo em 20/11/2018, 11:54

    Fico feliz
    Obrigado pelo retorno o fórum agradece.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Utilize o Sistema de Busca do Fórum...
    102 Códigos VBA Gratuitos...
    Instruções SQL como utilizar...

      Data/hora atual: 26/3/2019, 15:01