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]Filtro não está puxando 2 nomes no mesmo campo

    Carvalho
    Carvalho
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 210
    Registrado : 19/01/2013

    [Resolvido]Filtro não está puxando 2 nomes no mesmo campo Empty [Resolvido]Filtro não está puxando 2 nomes no mesmo campo

    Mensagem  Carvalho 31/1/2021, 21:26

    Boa noite pessoal, quem ai poderia me ajudar nessa programação ai, estou precisando que ele filtre no mesmo campo 2 nomes só.

    gostaria que nesse campo Status filtrasse 2 nomes.

    Código:
    strWhere = strWhere & "status ='" & "PENDENTE PG" & "' OR "  
    strWhere = strWhere & "status ='" & "RECURSO" & "' AND "


    Código como fica na Verificação imediata:

    Código:
    dataCirurgia between  # 01/01/2019 # AND # 01/31/2021 # AND Medico = 'DR. DANIEL CAMPOS' AND status ='PENDENTE PG' Or status ='RECURSO'

    Código completo:

    Código:

    Private Sub Relatorio_Sintetico()
    On Error GoTo F
      Dim strMsg As String, strTítulo As String
      Dim intEstilo As Integer
      Dim sel As Variant
      Dim strWhere As String
      
      
      
     'Usa a data como Criterio
    If Not IsNull(Me!DataInicial) And Not IsNull(Me!DataFinal) Then
        strWhere = strWhere & "dataCirurgia between  # " & Format(Me!DataInicial, "mm/dd/yyyy") & " # AND # " & Format(Me!DataFinal, "mm/dd/yyyy") & " # AND "
    End If
     'Usa o Tipo como Criterio
    If Not IsNull(Me!cboCliente) Then
        strWhere = strWhere & "Medico = '" & cboCliente.Column(1) & "' AND "
    End If
     

     'Usa o Profissional como Criterio
    If Not IsNull(Me!txHospital) Then
        strWhere = strWhere & "Hospital = '" & txHospital & "' AND "
    End If

     
    If Not IsNull(Me!txtEmpresa) Then
        strWhere = strWhere & "Empresa = '" & txtEmpresa & "' AND "
    End If

    If Not IsNull(Me!txtContratante) Then
        strWhere = strWhere & "CobrancaCoop = '" & txtContratante & "' AND "
    End If

    If Not IsNull(Me!TxtConvenio) Then
        strWhere = strWhere & "Convenio = '" & TxtConvenio & "' AND "
    End If


    'Usa o Profissional como Criterio
        
    strWhere = strWhere & "status ='" & "PENDENTE PG" & "' AND "  
    strWhere = strWhere & "status ='" & "RECURSO" & "' AND "




    'Remove o Ultimo AND extra
    strWhere = Left(strWhere, Len(strWhere) - 5)

    'Verifica se selecionou algum filtro, se nao abre o relatorio, se sim abra filtrando
    If Nz(Len(strWhere), 0) > 0 Then
        DoCmd.OpenReport "RltSinteticoPendentePagamento", acPreview, , strWhere
    Else
        DoCmd.OpenReport "RltSinteticoPendentePagamento", acPreview
    End If

    'Tratamento de Erros!
    F:
    Select Case Err.Number
        Case 0, 2501 '2501 é o erro que ocorre quando eu cancelo a abertura do relatorio, quando ele estiver sem dados
            Exit Sub
        Case Else
        MsgBox Err.Number & " " & Err.Description, vbInformation
    End Select

    End Sub



    Alguém poderia me ajuda nessa ai por favor pessoal.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2699
    Registrado : 22/11/2016

    [Resolvido]Filtro não está puxando 2 nomes no mesmo campo Empty Re: [Resolvido]Filtro não está puxando 2 nomes no mesmo campo

    Mensagem  DamascenoJr. 31/1/2021, 23:21

    É necessário ter cuidado ao mexer com operadores diferentes. Ele pode ser entendido assim

    Me traga os registros que atenderem a tudo isso
    # 01/01/2019 # AND # 01/31/2021 # AND Medico = 'DR. DANIEL CAMPOS' AND status ='PENDENTE PG'...

    Ou isso
    ...Or status ='RECURSO'

    Mas acha que não é isso que você quer.

    Você quer
    Me traga os registros que atendam a tudo isso
    # 01/01/2019 # AND # 01/31/2021 # AND Medico = 'DR. DANIEL CAMPOS'

    E nesse campo específico, isso ou aquilo
    AND status ='PENDENTE PG' Or status ='RECURSO'

    Se sim for o segundo caso, é preciso lembrar das precedencias. Veja eu isolando o OU entre parenteses para que ele seja lido a parte.

    # 01/01/2019 # AND # 01/31/2021 # AND Medico = 'DR. DANIEL CAMPOS' AND (status ='PENDENTE PG' Or status ='RECURSO')


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    Carvalho
    Carvalho
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 210
    Registrado : 19/01/2013

    [Resolvido]Filtro não está puxando 2 nomes no mesmo campo Empty Re: [Resolvido]Filtro não está puxando 2 nomes no mesmo campo

    Mensagem  Carvalho 1/2/2021, 15:45

    Estou precisando da 2 opção, já tentei adaptar de varias maneiras mas ainda não consegui!

    teria que ficar assim, mas está dando erro!

    Código:

    strWhere = strWhere & "(status ='" & "PENDENTE PG"  or status ='" & "RECURSO") & "' AND "
    Carvalho
    Carvalho
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 210
    Registrado : 19/01/2013

    [Resolvido]Filtro não está puxando 2 nomes no mesmo campo Empty Re: [Resolvido]Filtro não está puxando 2 nomes no mesmo campo

    Mensagem  Carvalho 1/2/2021, 16:07

    Consegui damasceno, com sua dica, fiquei analisando e vendo o resultado na verificação imediata e cheguei ao resultado esperado. segue como deveria ficar o código correto!


    cheers
    Código:
    strWhere = strWhere & "(status ='" & "PENDENTE PG" & "' OR  status ='" & "RECURSO" & "')" & " AND "
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2699
    Registrado : 22/11/2016

    [Resolvido]Filtro não está puxando 2 nomes no mesmo campo Empty Re: [Resolvido]Filtro não está puxando 2 nomes no mesmo campo

    Mensagem  DamascenoJr. 1/2/2021, 21:51

    Parabéns, meu amigo Carvalho. Com o auxilio da janela de verificação imediata, vai-se muuuuuito longe.

    O fórum agradece o retorno. Sucesso.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.

      Data/hora atual: 17/4/2021, 18:16