Filtrar idade em um campo calculado

Moderador: Avelino Sampaio

wcidrin
Mensagens: 6
Registrado em: 21 Mar 2018, 12:41
Contato:

Filtrar idade em um campo calculado

Mensagempor wcidrin » 21 Mar 2018, 13:14

Tenho a seguinte função

Código: Selecionar todos

Public Function Idade(DtNasc As String) As Long
On Error Resume Next

'Calcula idade | use no form ou relatório =idade([Nome do campo])

Dim Niver As Double
Niver = CVDate(DtNasc)
Idade = Fix(DateDiff("d", Niver, Date) / 365.25)

End Function


Com ela eu calculo a idade de uma pessoa. Mas não consigo filtrar por idade na consulta.
Como fazer?
Última edição por wcidrin em 21 Mar 2018, 23:59, editado 2 vezes no total.
Cristo é o único que pode te salvar!

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.


Avatar do usuário
Avelino Sampaio
Mensagens: 1875
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Filtrar idade em um campo calculado

Mensagempor Avelino Sampaio » 21 Mar 2018, 13:21

Wiractan,

copie e cole aqui a escrita (SQL) da sua consulta, para eu entender como esta sendo feito a filtragem

Aguardamos
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

wcidrin
Mensagens: 6
Registrado em: 21 Mar 2018, 12:41
Contato:

Re: Filtrar idade em um campo calculado

Mensagempor wcidrin » 21 Mar 2018, 13:27

Segue os dados em SQL

Código: Selecionar todos

SELECT cons_dados_completo.codigo, cons_dados_completo.bairro, cons_dados_completo.nomePessoa, cons_dados_completo.matriculado, cons_dados_completo.dataNascimento, Idade([DataNascimento]) AS Idade2
FROM cons_dados_completo
WHERE (((Idade([DataNascimento]))=40));


Detalhe muito importante que esqueci de dizer Avelino, a consulta vem de uma conexão ODBC
Fiz um teste com uma consulta com dados local, e está filtrando normal
Cristo é o único que pode te salvar!

Avatar do usuário
Avelino Sampaio
Mensagens: 1875
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Filtrar idade em um campo calculado

Mensagempor Avelino Sampaio » 21 Mar 2018, 13:40

Wiractan,

eu não tenho como criar aqui uma conexão ODBC, para testar e tentar entender o que acontece. Vou ter que dar uma pesquisada no assunto.

Acusa algum erro ?
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.


Avatar do usuário
Avelino Sampaio
Mensagens: 1875
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Filtrar idade em um campo calculado

Mensagempor Avelino Sampaio » 21 Mar 2018, 14:01

Por gentileza,

realize o teste de trocar a filtragem, utilizando o campo nomepessoa

Código:
SELECT cons_dados_completo.codigo, cons_dados_completo.bairro, 
cons_dados_completo.nomePessoa, cons_dados_completo.matriculado,
cons_dados_completo.dataNascimento, Idade([DataNascimento]) AS Idade2
FROM cons_dados_completo
WHERE nomePessoa='fulano de tal';


Quero saber se irá filtrar. Supeito que o campo virtual criado, não está sendo processado pelo servidor.

Aguardamos
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

wcidrin
Mensagens: 6
Registrado em: 21 Mar 2018, 12:41
Contato:

Re: Filtrar idade em um campo calculado

Mensagempor wcidrin » 21 Mar 2018, 14:10

Filtra normal amigo.
O erro só acontece quando vou filtrar a idade.
Cristo é o único que pode te salvar!

Avatar do usuário
Avelino Sampaio
Mensagens: 1875
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Filtrar idade em um campo calculado

Mensagempor Avelino Sampaio » 21 Mar 2018, 15:19

Wiractan,

o objetivo desta consulta é para ser utilizado com um formulário ou com um relatório ?

Aguardamos
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

wcidrin
Mensagens: 6
Registrado em: 21 Mar 2018, 12:41
Contato:

Re: Filtrar idade em um campo calculado

Mensagempor wcidrin » 21 Mar 2018, 16:15

Para ser utilizada em um relatório
Cristo é o único que pode te salvar!

Avatar do usuário
Avelino Sampaio
Mensagens: 1875
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Filtrar idade em um campo calculado

Mensagempor Avelino Sampaio » 21 Mar 2018, 18:48

Wiractan,

deixa a consulta sem filtragem. Tente realizar a filtragem na chamado do relatório e me diga se irá funcionar. Exemplo:

Código:
docmd.OpenReport "NomeDoRelatório",acViewPreview ,,"idade2 = 40"


Aguardamos
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

wcidrin
Mensagens: 6
Registrado em: 21 Mar 2018, 12:41
Contato:

Re: Filtrar idade em um campo calculado

Mensagempor wcidrin » 21 Mar 2018, 23:36

Fiz o que você falou Avelino.
Dá mensagem de erro. A mesma ao tentar filtrar os dados na consulta
Você deve estar registrado e autenticado para ter acesso ao arquivo anexo.
Cristo é o único que pode te salvar!

Avatar do usuário
Avelino Sampaio
Mensagens: 1875
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Filtrar idade em um campo calculado

Mensagempor Avelino Sampaio » 22 Mar 2018, 06:11

Wiractan,

teste acrescentando os apóstrofes.

Código:
docmd.OpenReport "NomeDoRelatório",acViewPreview ,,"idade2 = '40'"


ou acrescentando a função val().

Código:
docmd.OpenReport "NomeDoRelatório",acViewPreview ,,"val(idade2) = 40"


Aguardamos
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

wcidrin
Mensagens: 6
Registrado em: 21 Mar 2018, 12:41
Contato:

Re: Filtrar idade em um campo calculado

Mensagempor wcidrin » 22 Mar 2018, 18:55

Desculpa a demora em responder Avelino.
Tentei as duas opções.
Continua do mesmo jeito, dando o mesmo erro. :roll:
Cristo é o único que pode te salvar!

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.



Voltar para “Consultas”

Quem está online

Usuários neste fórum: Nenhum usuário registrado e 2 visitantes