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

2 participantes

    Filtra e deixa de aparecer registos

    avatar
    m_sousa
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 162
    Registrado : 06/11/2020

    Filtra e deixa de aparecer registos Empty Filtra e deixa de aparecer registos

    Mensagem  m_sousa 6/4/2021, 21:05

    Olá

    Tenho a seguinte consulta

    Código:
    SELECT tblConsulta.IDConsulta, tblConsulta.Data, tblConsulta.IDUtente, tblUtentes.Nome, tblConsulta.IDLocalConsulta, tblLocalConsulta.LocalConsulta, tblConsulta.IDEspecialidade, tblEspecialidades.Especialidade, tblConsulta.Acompanhamente, tblConsulta.Motorista, tblConsulta.ServicosPublicosPrivados, tblConsulta.VisitasAmigosFamiliares, tblConsulta.Consulta, tblConsulta.IDLocalInternamento, tblInternamento.LocalInternamento, tblConsulta.MotivoEnvio, tblConsulta.Obs, tblConsulta.EstadoSaude, tblConsulta.DataAltaClinica, tblConsulta.LocalUrgencias, tblLocalUrgencia.LocalUrgencia
    FROM ((((tblUtentes INNER JOIN tblConsulta ON tblUtentes.IDUtentes = tblConsulta.IDUtente) LEFT JOIN tblLocalUrgencia ON tblConsulta.LocalUrgencias = tblLocalUrgencia.IDLocalUrgencia) LEFT JOIN tblInternamento ON tblConsulta.IDLocalInternamento = tblInternamento.IDLocalInternamento) LEFT JOIN tblEspecialidades ON tblConsulta.IDEspecialidade = tblEspecialidades.IDEspecialidade) LEFT JOIN tblLocalConsulta ON tblConsulta.IDLocalConsulta = tblLocalConsulta.IDLocalConsulta;

    E filtro através deste código, o que acontece é que depois não mostra todos os registos, apos filtrar e se filtrarmos pelas varias opções filtra e aparecem os registos.

    Código:
    Private Sub txtPesquisa_Change()
    On Error GoTo trataErro

                Select Case Me!mdlOpcao
                Case 1
                strFiltro = "Nome LIKE '*" & Me.txtpesquisa.Text & "*' "
                Case Is = 2
                strFiltro = "ServicosPublicosPrivados LIKE '*" & Me.txtpesquisa.Text & "*' "
                Case Is = 3
                strFiltro = "Consulta LIKE '*" & Me.txtpesquisa.Text & "*' "
                Case Is = 4
                strFiltro = "Especialidade LIKE '*" & Me.txtpesquisa.Text & "*' "
                            End Select
               
            Me.[frmSubConsultasUtentes].Form.RecordSource = "SELECT * FROM ConsConsultasUtentes WHERE " & strFiltro
           
    trataErro:
      If Err.Number = 3145 Then
    MsgBox " Escolha primeiro a Opção de filtragem", vbCritical, "Atenção"
    End If
    End Sub


    Obrigado
    Noobezinho
    Noobezinho
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4144
    Registrado : 29/06/2012

    Filtra e deixa de aparecer registos Empty Re: Filtra e deixa de aparecer registos

    Mensagem  Noobezinho 8/4/2021, 12:06

    Marco

    Experimente assim:

    Como digitei pode haver erros, então verifique se a sintaxe está correta

    dentro do Select Case e aqui : WHERE ; '" & strFiltro& "'"

    strFiltro é uma string portanto, entre aspas

    { }'s

    Clique para ver o código:



    Private Sub txtPesquisa_Change()
    Dim rs As Recordset
    On Error GoTo trataErro

    Set rs = CurrentDb.OpenRecordset("SELECT tblConsulta.IDConsulta, tblConsulta.Data, tblConsulta.IDUtente, " & _
        "tblUtentes.Nome, tblConsulta.IDLocalConsulta, tblLocalConsulta.LocalConsulta, tblConsulta.IDEspecialidade, " & _
        "tblEspecialidades.Especialidade, tblConsulta.Acompanhamente, tblConsulta.Motorista, " & _
        "tblConsulta.ServicosPublicosPrivados, tblConsulta.VisitasAmigosFamiliares, tblConsulta.Consulta, " & _
        "tblConsulta.IDLocalInternamento, tblInternamento.LocalInternamento, tblConsulta.MotivoEnvio, tblConsulta.Obs, " & _
        "tblConsulta.EstadoSaude, tblConsulta.DataAltaClinica, tblConsulta.LocalUrgencias, tblLocalUrgencia.LocalUrgencia " & _
        "FROM ((((tblUtentes INNER JOIN tblConsulta ON tblUtentes.IDUtentes = tblConsulta.IDUtente) " & _
        "LEFT JOIN tblLocalUrgencia ON tblConsulta.LocalUrgencias = tblLocalUrgencia.IDLocalUrgencia) " & _
        "LEFT JOIN tblInternamento ON tblConsulta.IDLocalInternamento = tblInternamento.IDLocalInternamento) " & _
        "LEFT JOIN tblEspecialidades ON tblConsulta.IDEspecialidade = tblEspecialidades.IDEspecialidade) " & _
        "LEFT JOIN tblLocalConsulta ON tblConsulta.IDLocalConsulta = tblLocalConsulta.IDLocalConsulta;")

    With rs
           

               Select Case Me!mdlOpcao
                      Case 1
                           strFiltro = ".Nome LIKE '*" & Me.txtpesquisa.Text & "*' "
                      Case Is = 2
                           strFiltro = ".ServicosPublicosPrivados LIKE '*" & Me.txtpesquisa.Text & "*' "
                      Case Is = 3
                           strFiltro = ".Consulta LIKE '*" & Me.txtpesquisa.Text & "*' "
                      Case Is = 4
                           strFiltro = ".Especialidade LIKE '*" & Me.txtpesquisa.Text & "*' "
                End Select
    End With
           Me.[frmSubConsultasUtentes].Form.RecordSource = "SELECT * FROM ConsConsultasUtentes WHERE ; '" & strFiltro & "'"
    rs.Close

    trataErro:
          If Err.Number = 3145 Then
             MsgBox " Escolha primeiro a Opção de filtragem", vbCritical, "Atenção"
          End If
    End Sub


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    m_sousa
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 162
    Registrado : 06/11/2020

    Filtra e deixa de aparecer registos Empty Re: Filtra e deixa de aparecer registos

    Mensagem  m_sousa 8/4/2021, 14:05

    Obrigado. Só que não resolveu . . .
    Noobezinho
    Noobezinho
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4144
    Registrado : 29/06/2012

    Filtra e deixa de aparecer registos Empty Re: Filtra e deixa de aparecer registos

    Mensagem  Noobezinho 8/4/2021, 14:09


    Bem, então disponibilize as partes envolvidas com registros fictícios para que possamos analisar

    e tentar resolver.

    Aguardo...


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    m_sousa
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 162
    Registrado : 06/11/2020

    Filtra e deixa de aparecer registos Empty Re: Filtra e deixa de aparecer registos

    Mensagem  m_sousa 11/4/2021, 11:24

    Ok

    Vou então separar as partes e retirar os dados e colocar outros fictícios.

    Obrigado

      Data/hora atual: 18/9/2021, 17:54