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]filtrar campos nulos de caixa de listagem apartir de grupo de opções

    Compartilhe

    charlehardware
    Novato
    Novato

    Respeito às Regras 100%

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

    [Resolvido]filtrar campos nulos de caixa de listagem apartir de grupo de opções

    Mensagem  charlehardware em 21/8/2014, 01:48

    filtrar campos nulos de caixa de listagem apartir de grupo de opções

    já conseguir alguns resultados assim como mostro abaixo,
    más me enrolei na hora de colocar a segunda condição, ordenar decrescente e
    formatar o cabeçalho das colunas.

    ElseIf Me.FiltrosSituacao = "3" Then ' filtra com duas condição

    listaos.RowSource = "SELECT [Conserto].[Ordemdeserviço], " & _
    "[Conserto].[data de entrada], " & _
    "[Conserto].[defeito constatado], " & _
    "[Conserto].[Serviço Executado] " & _
    "FROM [Conserto] " & _
    "WHeRE (([Conserto].[defeito constatado])Not is Null), " & _
    "(([Conserto].[Serviço Executado])is Null);"

    charlehardware
    Novato
    Novato

    Respeito às Regras 100%

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

    Re: [Resolvido]filtrar campos nulos de caixa de listagem apartir de grupo de opções

    Mensagem  charlehardware em 21/8/2014, 19:45

    opa já consegui resolver as duas ultimas duvidas: decrescente e formatação

    falta só os 2 critérios:

    "WHeRE (([Conserto].[defeito constatado])Not is Null), " & _
    "(([Conserto].[Serviço Executado])is Null);"

    para resolver o pro da ordem decrescente, foi simples criei uma consulta e puxei de lá

    só falta resolver essa: "where", só com uma condição da certo. só quero add outra.

    desde já obrigado.

    charlehardware
    Novato
    Novato

    Respeito às Regras 100%

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

    Pesquisei um pouco e depois de varias tetavas e erros conseguir resolver...

    Mensagem  charlehardware em 23/8/2014, 06:02

    Private Sub FiltrosSituacao_AfterUpdate()
    If Me.FiltrosSituacao = "1" Then ' Mostra todos
    listaos.RowSource = "SELECT [CnsBuscaClienteOSos].[Codigo], " & _
    "[CnsBuscaClienteOSos].[Data], " & _
    "[CnsBuscaClienteOSos].[Defeito Citado], " & _
    "[CnsBuscaClienteOSos].[Defeito constatado], " & _
    "[CnsBuscaClienteOSos].[Serviço Executado], " & _
    "[CnsBuscaClienteOSos].[Nome], " & _
    "[CnsBuscaClienteOSos].[Tel1], " & _
    "[CnsBuscaClienteOSos].[Tel2], " & _
    "[CnsBuscaClienteOSos].[Data de Saída] " & _
    "FROM [CnsBuscaClienteOSos];"


    ElseIf Me.FiltrosSituacao = "2" Then ' Aguardando diagnostico
    listaos.RowSource = "SELECT [CnsBuscaClienteOSos].[Codigo], " & _
    "[CnsBuscaClienteOSos].[Data], " & _
    "[CnsBuscaClienteOSos].[Defeito Citado], " & _
    "[CnsBuscaClienteOSos].[Defeito constatado], " & _
    "[CnsBuscaClienteOSos].[Serviço Executado], " & _
    "[CnsBuscaClienteOSos].[Nome], " & _
    "[CnsBuscaClienteOSos].[Tel1], " & _
    "[CnsBuscaClienteOSos].[Tel2], " & _
    "[CnsBuscaClienteOSos].[Data de Saída] " & _
    "FROM [CnsBuscaClienteOSos] " & _
    "WHeRE ((([CnsBuscaClienteOSos].[defeito constatado])is Null));"

    ElseIf Me.FiltrosSituacao = "3" Then ' Diagnosticado
    listaos.RowSource = "SELECT [CnsBuscaClienteOSos].[Codigo], " & _
    "[CnsBuscaClienteOSos].[Data], " & _
    "[CnsBuscaClienteOSos].[Defeito Citado], " & _
    "[CnsBuscaClienteOSos].[Defeito constatado], " & _
    "[CnsBuscaClienteOSos].[Serviço Executado], " & _
    "[CnsBuscaClienteOSos].[Nome], " & _
    "[CnsBuscaClienteOSos].[Tel1], " & _
    "[CnsBuscaClienteOSos].[Tel2], " & _
    "[CnsBuscaClienteOSos].[Data de Saída] " & _
    "FROM [CnsBuscaClienteOSos] " & _
    "WHeRE (([CnsBuscaClienteOSos].[defeito constatado])is Not Null) AND (([CnsBuscaClienteOSos].[Serviço Executado])is Null)AND (([CnsBuscaClienteOSos].[Data de Saída])is Null);"


    opção1: mostra todos
    opção2: mostra só os campos "defeitos constatado" nulos(limpo)
    opção3: Que foi o que me deu trabalho, mostra só os que se adequarem a essas 3 condições

    Melhor fazer a caixa de listagem baseado em uma consulta pois dá mais opções, tipo organizar em ordem decresente e modificar os nomes dos campos tipo: datadesaída(na tabela) e "data de saida: datadesaida" na consulta.


    charlehardware
    Novato
    Novato

    Respeito às Regras 100%

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

    Melhorei o codigo utilizando o exemplo do sistema Telemax, que foi postado aqui forum, ficou muito bom

    Mensagem  charlehardware em 7/9/2014, 16:46

    por quer mudei?
    Poder mudar os nomes dos campos, formatar campos tipo: moeda etc, filtrar de todo jeito e ainda ter como origem uma consulta
    que já me dá outras infinidades de recursos, segue o exemplo.



    Private Sub FiltrosSituacao_AfterUpdate()
    On Error Resume Next
    If Me.FiltrosSituacao = "2" Then ' Aguardando diagnostico
    mysql = "SELECT OrdemdeServiço AS Codigo, [Data de Entrada] AS [DT Entrada], [Defeito Reclamado] AS [Defeito Citado], [Defeito Constatado], [Serviço Executado], "
    mysql = mysql & "NomeDaEmpresa AS Nome, Telefone AS Tel1, [Data de Saída] "
    mysql = mysql & "FROM CnsBuscaClienteOSos WHERE (([defeito constatado])is Null) AND (([Serviço Executado])is Null) "
    mysql = mysql & "ORDER BY OrdemdeServiço DESC;"
    Me!listaos.RowSource = mysql

    ElseIf Me.FiltrosSituacao = "3" Then ' Diagnosticado
    mysql = "SELECT OrdemdeServiço AS Codigo, [Data de Entrada] AS [DT Entrada], [Defeito Reclamado] AS [Defeito Citado], [Defeito Constatado], [Serviço Executado], "
    mysql = mysql & "NomeDaEmpresa AS Nome, Telefone AS Tel1, [Data de Saída] "
    mysql = mysql & "FROM CnsBuscaClienteOSos WHERE (([defeito constatado])is Not Null) AND (([Serviço Executado])is Null) AND (([Data de Saída])is Null) "
    mysql = mysql & "ORDER BY OrdemdeServiço DESC;"
    Me!listaos.RowSource = mysql

    ElseIf Me.FiltrosSituacao = "4" Then ' Pronto
    mysql = "SELECT OrdemdeServiço AS Codigo, [Data de Entrada] AS [DT Entrada], [Defeito Reclamado] AS [Defeito Citado], [Defeito Constatado], [Serviço Executado], "
    mysql = mysql & "NomeDaEmpresa AS Nome, Telefone AS Tel1, [Data de Saída] "
    mysql = mysql & "FROM CnsBuscaClienteOSos WHERE (([defeito constatado])is Not Null) AND (([Serviço Executado])is Not Null) AND (([Data de Saída])is Null) "
    mysql = mysql & "ORDER BY OrdemdeServiço DESC;"
    Me!listaos.RowSource = mysql
    End If

    End Sub

    charlehardware
    Novato
    Novato

    Respeito às Regras 100%

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

    ok resolvir

    Mensagem  charlehardware em 2/2/2018, 16:19

    ok resolvir

      Data/hora atual: 14/11/2018, 11:52