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

    [Resolvido]Usar campo Criado como criterio Where

    avatar
    Jhonata
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 13/06/2013

    [Resolvido]Usar campo Criado como criterio Where Empty Usar campo Criado como criterio Where

    Mensagem  Jhonata 28/7/2013, 20:37

    Boa Tarde

    Eu consigo usar um campo criado em uma consulta no critério Where na mesma consulta ?

    Ex.

    Select ....
    DateValue(Nz(Format([Data_Inicio],"dd/mm/yyyy hh:nn")))DateValue(Nz(Format([Data_Inicio],"dd/mm/yyyy hh:nn")))....
    Where .... And DateDiff('n',Data_Inicio,Data_Fim)


    Consigo fazer isso sem ter que criar um nova consulta ?(Hoje faço uma consulta primeiro e depois uso os campos Data_Inicio e Data_Fim na segunda consulta mas queria eleimiar essa segunda consulta)


    Se alguém puder ajudar eu agradeço.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Usar campo Criado como criterio Where Empty Re: [Resolvido]Usar campo Criado como criterio Where

    Mensagem  Alexandre Neves 28/7/2013, 20:55

    Boa noite, Jhonata
    Consegue. Terá que fazer consulta aninhada.
    Não consegui identificar claramente a consulta que tem, nem em que situação deve o campo ser utilizado


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Jhonata
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 13/06/2013

    [Resolvido]Usar campo Criado como criterio Where Empty Re: [Resolvido]Usar campo Criado como criterio Where

    Mensagem  Jhonata 28/7/2013, 21:11

    Obrigado Alexandre,

    Bom, EU não sei o que é consulta aninhada mas o hoje eu crio uma consulta onde pego somente as data dentro do mês selecionado (Format(Forms!Frm_Bakery.[CBx_DataBakery]) e depois vejo a quantidade de minutos entre Data_Inicio e Data_Fim e em uma outra consulta trago os dados onde os minutos for maior que 0 , e não queria criar uma nova consulta pra isso gostaria de fazer tudo na mesma consulta algo mais ou menos assim.

    Select Campo1,campo2,
    DateValue(Nz(Format([Data_Inicio],"dd/mm/yyyy hh:nn")))Data_Inicio,
    DateValue(Nz(Format([Data_Inicio],"dd/mm/yyyy hh:nn")))Data_Fim

    Where DateDiff('n',Data_Inicio,Data_Fim) > 0


    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Usar campo Criado como criterio Where Empty Re: [Resolvido]Usar campo Criado como criterio Where

    Mensagem  Alexandre Neves 29/7/2013, 14:45

    Boa tarde,
    Se já tem os campos na origem, basta usá-los na cláusula WHERE, do género
    Select Campo1,campo2, DateValue(Nz(Format([Data_Inicio],'dd/mm/yyyy hh:nn'))),DateValue(Nz(Format([Data_Fim],'dd/mm/yyyy hh:nn'))) FROM Tabela Where DateDiff('n',Data_Inicio,Data_Fim) > 0


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Jhonata
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 13/06/2013

    [Resolvido]Usar campo Criado como criterio Where Empty Re: [Resolvido]Usar campo Criado como criterio Where

    Mensagem  Jhonata 30/7/2013, 19:30

    Desculpe Alexandre, acho que expliquei errado

    O campo não existe na tabela, ele esta sendo criado na consulta

    Select Campo1,campo2,
    DateValue(Nz(Format([CampoDataTabela_Inicio],"dd/mm/yyyy hh:nn")))Data_Inicio,
    DateValue(Nz(Format([CampoDataTabela_Fim],"dd/mm/yyyy hh:nn")))Data_Fim
    Where DateDiff('n',Data_Inicio,Data_Fim) > 0


    Obs. Na verdade esse campo que esta sendo criado(Data_Inicio e Data_Fim) é bem maio que DateValue(Nz(Format([CampoDataTabela_Inicio],"dd/mm/yyyy hh:nn"))) tem vários IIF mas para exemplificar coloque apenas um ate pq se fosse apenas um eu resolveria essa questão da seguinte forma



    Select Campo1,campo2,
    DateValue(Nz(Format([CampoDataTabela_Inicio],"dd/mm/yyyy hh:nn")))Data_Inicio,
    DateValue(Nz(Format([CampoDataTabela_Fim],"dd/mm/yyyy hh:nn")))Data_Fim
    Where DateDiff('n',DateValue(Nz(Format([CampoDataTabela_Inicio],"dd/mm/yyyy hh:nn"))),DateValue(Nz(Format([CampoDataTabela_Fim],"dd/mm/yyyy hh:nn")))) > 0


    Eu queria usar na condição Where o campo que esta sendo criado na consulta.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Usar campo Criado como criterio Where Empty Re: [Resolvido]Usar campo Criado como criterio Where

    Mensagem  Alexandre Neves 30/7/2013, 19:44

    Continuo a achar algo estranho
    Disponibilize dados significativos para o que pretende obter


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Jhonata
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 13/06/2013

    [Resolvido]Usar campo Criado como criterio Where Empty Re: [Resolvido]Usar campo Criado como criterio Where

    Mensagem  Jhonata 30/7/2013, 22:29

    Segue um exemplo ,

    Queria fazer isso sem a necessidade de criar uma nova consulta se possível


    Obrigado !
    Anexos
    [Resolvido]Usar campo Criado como criterio Where AttachmentExemplo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (22 Kb) Baixado 2 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Usar campo Criado como criterio Where Empty Re: [Resolvido]Usar campo Criado como criterio Where

    Mensagem  Alexandre Neves 31/7/2013, 16:19

    Boa tarde,
    Tem o código SQL difícil de interpretar. No entanto, utilize na cláusula WHERE a expressão completa que utiliza na parte dos campos calculados
    Por exemplo,
    SELECT Nome, DateDiff('d',DT_Inicio, DT_Fim) as DiferencaTempo
    FROM Tbl_Teste
    WHERE DateDiff('d',DT_Inicio, DT_Fim) > 0;

    Está a ver como utiliza o cálculo na cláusula WHERE?


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Jhonata
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 13/06/2013

    [Resolvido]Usar campo Criado como criterio Where Empty Re: [Resolvido]Usar campo Criado como criterio Where

    Mensagem  Jhonata 4/8/2013, 16:51

    Obrigado Alexandre,

    Desculpe a demora em responder mas a forma como vc sugereriu eu já havia testado mas o que eu pretendia fazer era algo mais ou menos assim.

    SELECT Nome, DateDiff('d',DT_Inicio, DT_Fim) as DiferencaTempo
    FROM Tbl_Teste
    WHERE DiferencaTempo > 0;
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Usar campo Criado como criterio Where Empty Re: [Resolvido]Usar campo Criado como criterio Where

    Mensagem  Alexandre Neves 4/8/2013, 17:51

    Boa tarde, Jhonata
    É isso mesmo que eu disse
    Se DiferencaTempo=DateDiff('d',DT_Inicio, DT_Fim)
    Então, em vez de colocar DiferencaTempo, que ainda não está calculada, coloca DateDiff('d',DT_Inicio, DT_Fim) e funciona
    Testou? Tem de dar certo


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Jhonata
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 13/06/2013

    [Resolvido]Usar campo Criado como criterio Where Empty Re: [Resolvido]Usar campo Criado como criterio Where

    Mensagem  Jhonata 4/8/2013, 19:57

    Alexandre Obrigado pela paciência,


    A forma que vc sugeriu eu testei e funcionou , mas minha condição where ficou enorme pq, os campos DT_inicio e DT_Fim não existe na tabela eles estão sendo criado na consulta e irei utiliza-lo tanto como campo e também na condição where.


    Por enquanto estou usando da forma que você sugeriu mas achei que quando eu crio um campo na consulta eu poderia utiliza-lo na mesmo consulta
    Ex
    Select Campo1 + Campo2 as Soma Where Soma >2

    Ao invés de
    Select Campo1 + Campo2 as Soma Where Campo1 + Campo2 >2

    Entendeu ?

    Muito obrigado mesmo pela atenção !!!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Usar campo Criado como criterio Where Empty Re: [Resolvido]Usar campo Criado como criterio Where

    Mensagem  Alexandre Neves 4/8/2013, 20:34

    Pode utilizar em sub-consulta, mas funcionando na consulta é sempre melhor e de compreensão mais intuitiva


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Jhonata
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 13/06/2013

    [Resolvido]Usar campo Criado como criterio Where Empty Re: [Resolvido]Usar campo Criado como criterio Where

    Mensagem  Jhonata 4/8/2013, 21:06

    O que é Sub-Consulta ?
    E como usaria esse exemplo na mesma consulta é possível ?


    Select Campo1 + Campo2 as Soma Where Soma >2


    Obrigado !
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Usar campo Criado como criterio Where Empty Re: [Resolvido]Usar campo Criado como criterio Where

    Mensagem  Alexandre Neves 4/8/2013, 21:16

    Apenas disse ser possível, no entanto, não servirá para diminuir a expressão e ficará mais extensa
    veja mais aqui


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Jhonata
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 13/06/2013

    [Resolvido]Usar campo Criado como criterio Where Empty Re: [Resolvido]Usar campo Criado como criterio Where

    Mensagem  Jhonata 8/8/2013, 01:21

    Obrigado Alexandre!

    Mas fiquei com essa opção mesmo (Select Campo1 + Campo2 as Soma Where Campo1 + Campo2 >2)

    Obrigado pela atenção

    Conteúdo patrocinado


    [Resolvido]Usar campo Criado como criterio Where Empty Re: [Resolvido]Usar campo Criado como criterio Where

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 27/4/2024, 20:47