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

    [Resolvido]Aplicar filtro com 3 campos de tabelas diferentes

    avatar
    OliveiraPH
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 04/08/2012

    [Resolvido]Aplicar filtro com 3 campos de tabelas diferentes Empty [Resolvido]Aplicar filtro com 3 campos de tabelas diferentes

    Mensagem  OliveiraPH 1/9/2012, 03:29

    Olá boa noite pessoal, olha nois aqui outra vez, comecei a mexer no access para fazer um simples formulário e relatório, derrepente me deparei com alguns problemas, para esta situação eu estudei os videos do Mestre professor Avelino Sampaio, por vez até consigo fazer algum filtro quando e simples, mas no meu formulário onde quero aplicar os filtros existe dados de 3 tabelas: tblcontroleserviço, tblturno, tblmotivo.


    Crie uma consulta com o nome qryControleServiçoFiltro usando os dados das 3 tabelas, Depois crie um formulario em branco e adcionei a consulta qryControleServiçoFiltro como sendo um subformulário, depois peguei e adicionei 3 campos listbox sendo: campo Data da tblControleServiço, campo Turno da tblTurno e por fim o campo Motivo da tblMotivo. Ou seja se o usuário digitar ou selecionar uma data na cboData os dados abaixo da consulta serão mostrados somentes com a data digitada ou selecionada na cboData e assim com os outros dois campos, se o usuário selecionar um turno os serviços serão mostrados somente com a data selecionada e o turno e motivo selecionado, caso os usuaários não selecionem nem a data nem o turno ou motivo aparecerão todos os registros da lista.

    Neste endereço tem uma imagem do meu formulario, mas caso queirão ver meu bd é so pedir que eu colocarei aqui.
    https://2img.net/r/ihimg/photo/my-images/443/filtrow.jpg/

    Agradeço desde já a ajuda de vocês, para mim estou començando e para muitos é uma simple honra em ajudar os companheiros.

    É ensinando que se aprende. Eu estou me esforçando e tenho certeza que com ajuda de vocês vou conseguir fazer este trabalho.
    HARYSOHN
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12227
    Registrado : 01/03/2011

    [Resolvido]Aplicar filtro com 3 campos de tabelas diferentes Empty Re: [Resolvido]Aplicar filtro com 3 campos de tabelas diferentes

    Mensagem  HARYSOHN 1/9/2012, 03:41

    E qual a dúvida companheiro? Explicou o que fez.. pois bem... e o que está ocorrendo de errado?


    Cumprimentos.
    avatar
    OliveiraPH
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 04/08/2012

    [Resolvido]Aplicar filtro com 3 campos de tabelas diferentes Empty Aplicar filtro com 3 campos de tabelas diferentes

    Mensagem  OliveiraPH 1/9/2012, 22:52

    Pois é amigo eu explicar eté consigo mas na pratica para fazer esses comandos funcionarem ai é que ta o bicho.
    Estou começando a conhecer o Access um pouco assim como os comando em Vb, não sei se é possivel fazer funcionar esses filtros por por meio da Sql, ou somente com os comandos em VB. Andei olhando os videos do prof Avelino, lá explica direitinho como fazer esse tipo de filtragem,mas fico perdido porque os dados são provenientes de outras tabelas.

    Olha como eu disse eu estou tentanto, mas de uma olhada no formulário frmControleServiçoFiltro, de uma olhada nos comando que coloquei no evento ao receber o foco, vendo as aulas do prof Avelino, se puder ajudar fico grato...

    Neste formulário quero que o usuário digite ou selecione uma data na listbox, caso não digite ou selecione ele lista todas as datas do mês corrente, assim com a listbox turno, caso selecione um turno ele vai listar a data selecionada e o turno secionado caso contrario selecione somente a data selecionada e todos os turnos e assim do mesmo jeito para a listbox motivo.

    Ficarei muito agradecido com a ajuda de vocês.

    Habilidade é o que você é capaz de fazer.
    Motivação determina o que você faz.
    Atitude determina o quão bem você faz.
    (Lou Holtz)



    O mestre disse a um dos seus alunos: Yu, queres saber em que consiste o conhecimento?
    Consiste em ter consciência tanto de conhecer uma coisa quanto de não a conhecer.
    Este é o conhecimento..
    (Confúcio)
    Anexos
    [Resolvido]Aplicar filtro com 3 campos de tabelas diferentes AttachmentEletrica.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (264 Kb) Baixado 46 vez(es)
    HARYSOHN
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12227
    Registrado : 01/03/2011

    [Resolvido]Aplicar filtro com 3 campos de tabelas diferentes Empty Re: [Resolvido]Aplicar filtro com 3 campos de tabelas diferentes

    Mensagem  HARYSOHN 2/9/2012, 12:07

    Vamos la...

    1 - Crie uma caixa texto desacoplada acima da CboTurno e a nomeeie de txtTurno.
    2 - Nos eventos após atualizar da cbo turno aplique:

    Private Sub cboTurno_AfterUpdate()
    Me.txtTurno = Me.cboTurno.Column(1) 'Leva para a caixa texto o valor contido na segunda coluna da cboTurno
    Me.tblControleServiço.Requery 'Faz um requery no subform para atualizá-lo
    End Sub

    3 - abra o subform no modo design, vá propriedades, aba Dados, fonte de registro... Clique nos tres pontos. Abrirá uma consulta, em critérios no campo Turno aplique:
    Como [Forms]![frmControleServiçoFiltro].[txtTurno] & "*"



    Pronto está feito para o campo Turno, faça da mesma forma para os demais lembrando que nos outros o critério será aplicado na linha abaixo: Ou.


    >>>> Outra coisa, da forma como está carregando a combo o VBA está bem, mas creio que não á necessidade nesse caso, pode carrega-las diretamente baseando a origem da linha na tabela correspondente. Desta forma como está toda vez que a combo receber foco estará recarregando a combo o que é desnecessário.
    Podes tambem colocar o código ao abrir ou carregar do form principal

    Dim StrSql As String
    StrSql = "Select IdTurno, Turno From tblTurno"
    Me!cboTurno.RowSource = StrSql



    Cumprimentos.


    avatar
    OliveiraPH
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 04/08/2012

    [Resolvido]Aplicar filtro com 3 campos de tabelas diferentes Empty Re: [Resolvido]Aplicar filtro com 3 campos de tabelas diferentes

    Mensagem  OliveiraPH 2/9/2012, 23:39

    Olha obrigado pela ajuda, mas como eu disse não sou la aquelas coisas para entender sobre os codigos. Mas se entendi você esta pedindo para criar uma caixa de texto acima do cboTurno, crie e coloquei os comandos, o filtro funciona, mas abre uma caixa de dialogo para inserir o valor do parametro, e não da para selecionar na caixa de listagem turno ou seja esta com os dois campos turno um caixa de texto e outro caixa de listagem.
    HARYSOHN
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12227
    Registrado : 01/03/2011

    [Resolvido]Aplicar filtro com 3 campos de tabelas diferentes Empty Re: [Resolvido]Aplicar filtro com 3 campos de tabelas diferentes

    Mensagem  HARYSOHN 3/9/2012, 16:22

    Eis ai, está feito para o turno.

    https://dl.dropbox.com/u/26441349/OliveiraPH.rar


    Cumprimentos.
    avatar
    OliveiraPH
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 04/08/2012

    [Resolvido]Aplicar filtro com 3 campos de tabelas diferentes Empty Re: [Resolvido]Aplicar filtro com 3 campos de tabelas diferentes

    Mensagem  OliveiraPH 5/9/2012, 21:09

    Meu amigo obrigado pela ajuda, esta funcionado direitinho, mas como eu não tenho conhecimento em vba e sql, eu quero deixar somente a listbox e não os dois campo txtturno e cboturno ou deixar somente a caixa de texto turno.
    HARYSOHN
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12227
    Registrado : 01/03/2011

    [Resolvido]Aplicar filtro com 3 campos de tabelas diferentes Empty Re: [Resolvido]Aplicar filtro com 3 campos de tabelas diferentes

    Mensagem  HARYSOHN 5/9/2012, 21:26

    Amigo... o Critério na consulta da listbox não aceita objeto Caixa de COmbinação, por isso a utilização de um segundo objeto para receber este valor e este objeto aplicado no critério.

    So deixei visível para que pudesse entender como funciona... O objetivo do Fórum é o aprendizado.

    Este objeto não pode ser excluido, o que deves fazer é deixá-lo com sua propriedade Visível = Não.


    Cumprimentos.
    Jricardo30
    Jricardo30
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 16/10/2014

    [Resolvido]Aplicar filtro com 3 campos de tabelas diferentes Empty Duvidas no filtro

    Mensagem  Jricardo30 15/12/2015, 17:15

    Boa tarde,

    caros, estou desenvolvendo um bd para controle de atestados, faltas, etcc..
    pois bem, eu preciso criar um relatorio com algumas informações do formulário, o problema é que não estou conseguindo criar um botão que faça o filtro de dois ou mais campos do formulário.

    Poderiam me ajudar??

      Data/hora atual: 12/4/2021, 00:46