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


4 participantes

    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão"

    Walter
    Walter
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 373
    Registrado : 17/04/2011

    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Empty [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão"

    Mensagem  Walter 3/9/2013, 22:46

    Boa noite, amigos.
    Estou tentando fazer um módulo com uma função e não estou tendo sucesso. Sigo uma outra que o Alexandre generosamente fez prá mim, e funcionou legal. Segui os mesmos passos (acho que segui), mas não funciona. Me ajudem por favor a encontrar onde errei.

    Minha consulta tem os Campos: ColesterolTotal e SexoMF. Combinando esses valores quero calcular um terceiro, e para isso criei um campo calculado, na consulta: PtsColesterol: PtsColesterolSexo([ColesterolTotal];[SexoMF])

    O Função que criei foi:

    Function PtsColesterolSexo(ColesterolTotal As Byte, SexoMF As String) As Byte

    Select Case SexoMF
       SexoMF = "M"
           Select Case ColesterolTotal
           Case Is < 160
               PtsColesterolSexo = 0
           Case Is < 200
               PtsColesterolSexo = 1
           Case Is < 240
               PtsColesterolSexo = 2
           Case Is < 280
               PtsColesterolSexo = 3
           Case Else
               PtsColesterolSexo = 4
       SexoMF = "F"
           Select Case ColesterolTotal
           Case Is < 160
               PtsColesterolSexo = 0
           Case Is < 200
               PtsColesterolSexo = 1
           Case Is < 240
               PtsColesterolSexo = 3
           Case Is < 280
               PtsColesterolSexo = 4
           Case Else
               PtsColesterolSexo = 5
    End Select
           
    End Function


    Porém, quando rodo a consulta dá a mensagem: "Função 'PtsColesterolSexo' indefinida na expressão"

    Onde está o êrro?

    Obrigado,
    Walter
    Walter
    Walter
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 373
    Registrado : 17/04/2011

    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Empty Re: [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão"

    Mensagem  Walter 4/9/2013, 00:16

    Desculpem. Colei o código errado. Na verdade ele é assim:

    Function PtsColesterolSexo(ColesterolTotal As Byte, SexoMF As String) As Byte

    Select Case SexoMF
    Case "M"
    Select Case ColesterolTotal
    Case Is < 160
    PtsColesterolSexo = 0
    Case Is < 200
    PtsColesterolSexo = 1
    Case Is < 240
    PtsColesterolSexo = 2
    Case Is < 280
    PtsColesterolSexo = 3
    Case Else
    PtsColesterolSexo = 4
    End Select

    Case "F"
    Select Case ColesterolTotal
    Case Is < 160
    PtsColesterolSexo = 0
    Case Is < 200
    PtsColesterolSexo = 1
    Case Is < 240
    PtsColesterolSexo = 3
    Case Is < 280
    PtsColesterolSexo = 4
    Case Else
    PtsColesterolSexo = 5
    End Select
    End Select

    End Function

    Mas não quer funcionar...
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3873
    Registrado : 21/04/2011

    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Empty Re: [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão"

    Mensagem  Marcelo David 4/9/2013, 02:32

    Olá, boa noite!

    Function PtsColesterolSexo(ColesterolTotal As Byte, SexoMF As String) As Byte

    Select Case SexoMF
    Case "M"
    Select Case ColesterolTotal
    Case Is < 160
    PtsColesterolSexo = 0
    Case Is < 200
    PtsColesterolSexo = 1
    Case Is < 240
    PtsColesterolSexo = 2
    Case Is < 280
    PtsColesterolSexo = 3
    Case Else
    PtsColesterolSexo = 4
    End Select

    Case "F" 'Esse Case está "solto" aqui, pois na linha acima tem End Select e abaixo é que inicia o novo select!

    Select Case ColesterolTotal
    Case Is < 160
    PtsColesterolSexo = 0
    Case Is < 200
    PtsColesterolSexo = 1
    Case Is < 240
    PtsColesterolSexo = 3
    Case Is < 280
    PtsColesterolSexo = 4
    Case Else
    PtsColesterolSexo = 5
    End Select
    End Select

    End Function


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Marcel11
    Walter
    Walter
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 373
    Registrado : 17/04/2011

    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Empty Re: [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão"

    Mensagem  Walter 4/9/2013, 09:50

    Bom dia, Marcelo.
    Obrigado por me auxiliar com essa função.
    Acontece que são dois Select. O primeiro seleciona SexoMF, e o segundo seleciona ColesterolTotal. O Select que você falou que está solto fecha apenas o ColesterolTotal.
    Veja a estrutura no Word onde dá prá ver melhor o que quero...
    Anexos
    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" AttachmentFunction PtsColesterolSexo.doc
    Você não tem permissão para fazer download dos arquivos anexados.
    (24 Kb) Baixado 8 vez(es)
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3873
    Registrado : 21/04/2011

    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Empty Re: [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão"

    Mensagem  Marcelo David 4/9/2013, 16:04

    Desculpe, não tinha percebido isso...
    Poderia postar seu banco para analise?



    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Marcel11
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Empty Re: [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão"

    Mensagem  JPaulo 4/9/2013, 16:49

    Grande Marcelo, penso que o problema é que a função não é Publica;

    Tente alterar de:

    Function PtsColesterolSexo(ColesterolTotal As Byte, SexoMF As String) As Byte

    Para:

    Public Function PtsColesterolSexo(ColesterolTotal As Byte, SexoMF As String) As Byte


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Folder_announce_new Instruções SQL como utilizar...
    Walter
    Walter
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 373
    Registrado : 17/04/2011

    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Empty Re: [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão"

    Mensagem  Walter 4/9/2013, 17:00

    Boa tarde, JPaulo.

    Mudei para função pública, mas a mensagem continua a mesma:

    "Função 'PtsColesterolSexo' indefinida na expressão"

    Walter

    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3873
    Registrado : 21/04/2011

    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Empty Re: [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão"

    Mensagem  Marcelo David 4/9/2013, 17:36

    É verdade JPaulo, não observei isso também.

    Walter, onde está essa função? Num módulo ou em um formulário?


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Marcel11
    Walter
    Walter
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 373
    Registrado : 17/04/2011

    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Empty Re: [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão"

    Mensagem  Walter 4/9/2013, 18:02

    Boa tarde, Marcelo,

    Essa função será acionada atraves de uma consulta:

    PtsColesterol: PtsColesterolSexo([ColesterolTotal];[SexoMF])

    Veja a estrutura da consulta no anexo. Não coloquei o BD porque ele é muito grande, mas se precisar retiro algumas coisas e posto, Ok?
    Anexos
    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" AttachmentConsultaRiscoCardiovascular.docx
    Você não tem permissão para fazer download dos arquivos anexados.
    (54 Kb) Baixado 9 vez(es)
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3873
    Registrado : 21/04/2011

    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Empty Re: [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão"

    Mensagem  Marcelo David 4/9/2013, 18:20

    Sei que vc chama a função de uma consulta, mas onde foi criada a função? Num Módulo ou formulário?


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Marcel11
    Walter
    Walter
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 373
    Registrado : 17/04/2011

    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Empty Re: [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão"

    Mensagem  Walter 4/9/2013, 21:01

    Desculpe. Entendi errado a sua pergunta ...

    A função foi criada em um módulo.

    Walter
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Empty Re: [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão"

    Mensagem  Cláudio Más 4/9/2013, 21:07

    Posta o arquivo, mesmo sem dados.
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3873
    Registrado : 21/04/2011

    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Empty Re: [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão"

    Mensagem  Marcelo David 4/9/2013, 22:04

    Ok, está em um módulo, e declarada como pública, confirma? caso sim, meu amigo, só mesmo postando o
    aplicativo para darmos uma olhada.

    No aguardo.


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Marcel11
    Walter
    Walter
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 373
    Registrado : 17/04/2011

    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Empty Re: [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão"

    Mensagem  Walter 4/9/2013, 22:20

    Olá, Cláudio. Quanto tempo...
    Tudo bem com você?
    Aí vai o aplicativo zipado.

    Vá em Cnslt_CalculaRiscoCV

    Walter
    Anexos
    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" AttachmentCadastroPSF2007-Versão13.0 -Editando.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (1.1 Mb) Baixado 26 vez(es)
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3873
    Registrado : 21/04/2011

    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Empty Re: [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão"

    Mensagem  Marcelo David 4/9/2013, 22:50

    Walter, terá que ter mais cuidado com as nomenclaturas usadas no seu projeto...
    Todo o seu transtorno é causado porque tem um módulo com nome: PtsColesterolSexo e uma função com esse mesmo nome!
    Apenas renomei o módulo para algo do tipo: modPtsColesterolSexo, que daí sim irá funcionar corretamente!
    Observe ainda que há algumas funções que serão usado em outras partes do seu projeto, mas não etão declaradas como publicas.

    Declare como publicas (Public) todas as funções (como já observou o JPaulo) que irá usar nas consultas ou em outros locais para evitar problemas.

    Aguardamos.


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Marcel11
    Walter
    Walter
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 373
    Registrado : 17/04/2011

    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Empty Re: [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão"

    Mensagem  Walter 5/9/2013, 17:05

    Perfeito Marcelo.

    Funcionou legal!
    Antes de fechar o tópico queria saber se você, ou outro amigo do Forum tem algum texto ou tutoria que ensine como fazer essas funçoes e módulos. Tenho algumas dúvidas ainda. Por exemplo
    1. Quando usar Função Publica ou não?
    2. Quando usar Byte, Data, Integer, Long , etc.?
    Se tiver e puder disponibilizar prá mim, eu agradeço. Essa do nome da Função não poder ser o mesmo nome do Módulo, eu não sabia, e fez toda a diferença, não é?, Mas, afinal, esse foi primeiro modulo...

    Um abraço,

    Walter
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3873
    Registrado : 21/04/2011

    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Empty Re: [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão"

    Mensagem  Marcelo David 5/9/2013, 19:56

    Opa, você poderá começar por aqui: https://www.youtube.com/user/PlinioMabesi e por aqui: www.usandoaccess.com.br

    O primeiro, terá uma série de vídeos onde lhe introduzirá ao ambiente VBA e o segundo, terá soluções mais avançadas, códigos
    prontos e muita informações adicionais de como e onde poderá chegar com Access/VBA.

    Aqui mesmo no fórum tem muita coisa. Tem a sala de "Documentação" que tem muito material, a exemplo: http://maximoaccess.forumeiros.com/t14416-funcoes-x-sub-rotinas



    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Marcel11
    Walter
    Walter
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 373
    Registrado : 17/04/2011

    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Empty Re: [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão"

    Mensagem  Walter 5/9/2013, 23:43

    Valeu, Marcelo.
    Muito obrigado pela ajuda. Tenha uma boa noite.
    O Forum está de parabéns

    Walter
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3873
    Registrado : 21/04/2011

    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Empty Re: [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão"

    Mensagem  Marcelo David 6/9/2013, 03:02

    O Fórum que agradece o retorno meu amigo, apenas esquecestes do resolvido. Dessa vez eu coloco! Smile 


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]"Função 'PtsColesterolSexo' indefinida na expressão" Marcel11

      Data/hora atual: 28/4/2024, 07:50