Olá
Estou de novo a abrir novo tópico, por ainda não ter resolvido a questão anterior, apesar de o ter concluido;
já experimentei com "Idade10: Val(calcula([DNasc]))" como jpaulo disse mas não conegui;
lembro que a versão do access é 2003 o que poderá ter influência ser for noutra versão como o 2007;
Tenho uma bdados em access em que numa consulta o campo "Idade10: calcula([DNasc])" não me aceita critérios como <=30; <> 30 (diz tipo de dados incorrectos na expressão de critérios);
gostaria de me poderem ajudar com este problema
obrigado
Este campo esta ligado ao módulo
Function calcula(DNasc As Date) As Long
Dim anoAtual As Integer
Dim anoNascimento As Integer
Dim totalAnos As Integer
Dim aniversario As String
If DNasc > Date Then Exit Function
aniversario = Format(DNasc, "dd/mm")
anoNascimento = Year(DNasc)
anoAtual = Year(Date)
totalAnos = anoAtual - anoNascimento
If CDate(aniversario & "/" & anoAtual) <= Date Then
calcula = totalAnos
Else
calcula = totalAnos - 1
End If
End Function
Estou de novo a abrir novo tópico, por ainda não ter resolvido a questão anterior, apesar de o ter concluido;
já experimentei com "Idade10: Val(calcula([DNasc]))" como jpaulo disse mas não conegui;
lembro que a versão do access é 2003 o que poderá ter influência ser for noutra versão como o 2007;
Tenho uma bdados em access em que numa consulta o campo "Idade10: calcula([DNasc])" não me aceita critérios como <=30; <> 30 (diz tipo de dados incorrectos na expressão de critérios);
gostaria de me poderem ajudar com este problema
obrigado
Este campo esta ligado ao módulo
Function calcula(DNasc As Date) As Long
Dim anoAtual As Integer
Dim anoNascimento As Integer
Dim totalAnos As Integer
Dim aniversario As String
If DNasc > Date Then Exit Function
aniversario = Format(DNasc, "dd/mm")
anoNascimento = Year(DNasc)
anoAtual = Year(Date)
totalAnos = anoAtual - anoNascimento
If CDate(aniversario & "/" & anoAtual) <= Date Then
calcula = totalAnos
Else
calcula = totalAnos - 1
End If
End Function