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


3 participantes

    [Resolvido]Erro de compilação

    avatar
    gabrielbarbosa
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 21/10/2015

    [Resolvido]Erro de compilação Empty [Resolvido]Erro de compilação

    Mensagem  gabrielbarbosa 21/10/2015, 16:27

    Olá gente,

    Estou me deparando com um erro besta mas não consigo achar solução. As vezes quando eu elevo alguma variável a qualquer número aparece a mensagem "Erro de compilação".

    Sub raizquadrada()

    Dim a, b, c, delta, x1, x2 As Double


    a = InputBox("Digite o valor de a")
    b = InputBox("Digite o valor de b")
    c = InputBox("Digite o valor de c")

    delta = b^2 - 4 * a * c

    If delta < 0 Then
       MsgBox "Delta<0. Não existe raízes reais"
    End If

    end sub
    Nesse caso, na parte da equação do delta, o "b^2"  que é o problema. Tirei uma foto de como ficou: https://2img.net/h/oi61.tinypic.com/6e3upv.png[/IMG]


    Última edição por gabrielbarbosa em 22/10/2015, 13:23, editado 2 vez(es)
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7996
    Registrado : 15/03/2013

    [Resolvido]Erro de compilação Empty Re: [Resolvido]Erro de compilação

    Mensagem  Alvaro Teixeira 21/10/2015, 16:42

    Olá Gabriel, bem-vindo ao fórum.

    Parece que está a faltar o End Sub no final do código da sub raizquadrada().
    Se o problema se mantiver, poste o código da sub para podermos testar.

    Caso resolva, não se esqueça de dar o tópico como resolvido, veja como fazer:
    https://www.maximoaccess.com/t860-resolucao-de-topicos

    Abraço
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Erro de compilação Empty Re: [Resolvido]Erro de compilação

    Mensagem  JPaulo 21/10/2015, 18:03

    Ola;

    A função do VBA para calcular a raiz quadrada é a Sqr, mas esta função não aceita valores negativos.

    Faça o teste da sua função, desta forma, isolando a primeira equação;
    Código:
    delta = ((b ^ 2) - 4) * a * c


    .................................................................................
    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]Erro de compilação Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Erro de compilação Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Erro de compilação Folder_announce_new Instruções SQL como utilizar...
    avatar
    gabrielbarbosa
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 21/10/2015

    [Resolvido]Erro de compilação Empty Re: [Resolvido]Erro de compilação

    Mensagem  gabrielbarbosa 21/10/2015, 20:49

    Olá ahtexeira,

    o End Sub não é o problema não. Ao copiar o código, ele saiu sem o End Sub.

    E também testei a forma de JPaulo, e também não foi. De qualquer forma, eu não poderia utilizar por que fugiria da fórmula de Baskara para resolver raiz quadrada.

    Obrigado pela tentativa de ajudar.

    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7996
    Registrado : 15/03/2013

    [Resolvido]Erro de compilação Empty Re: [Resolvido]Erro de compilação

    Mensagem  Alvaro Teixeira 21/10/2015, 21:28

    Olá, obrigado pelo retorno.
    Como costumo dizer, com o MáximoAcess é sempre aprender.

    Lanço este desafio, cole o código aqui no fórum (assim evita de termos que transcever da imagem) e diga o resultado que deveria obter e os valores de a, b , c
    Para podermos testar.
    Abraço
    avatar
    gabrielbarbosa
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 21/10/2015

    [Resolvido]Erro de compilação Empty Re: [Resolvido]Erro de compilação

    Mensagem  gabrielbarbosa 22/10/2015, 13:17

    Consegui! O erro foi muito besta. A equação estava escrita da forma b^2- 4*a*c, sendo que o b^2 estava "junto" só que para o VBA, isso está errado. A forma correta é b ^ 2, percebe-se agora um espaço entre b, ^ , e 2. Agora ele rodou.

    Então ficou da mesma forma só que agora separando o b do ^ e do 2.

    Geralmente o VBA faz essa separação de forma automática, só que dessa vez não.

    Ficou assim:

    Sub raizquadrada()

    Dim a, b, c, delta, x1, x2 As Double


    a = InputBox("Digite o valor de a")
    b = InputBox("Digite o valor de b")
    c = InputBox("Digite o valor de c")

    delta = b ^ 2 - 4 * a * c

    If delta < 0 Then
    MsgBox "Delta<0. Não existe raízes reais"
    End If

    If delta > 0 Then

    x1 = (-b + Sqr(delta)) / (2 * a)
    x2 = (-b - Sqr(delta)) / (2 * a)

    MsgBox "x1= " & x1 & Chr(13) & "x2= " & x2

    End If

    If delta = 0 Then

    x1 = -b / (2 * a)

    MsgBox "Delta=0 . Logo, x1=x2= " & x1

    End If

    End Sub

    Obrigado pela ajuda de todos!
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7996
    Registrado : 15/03/2013

    [Resolvido]Erro de compilação Empty Re: [Resolvido]Erro de compilação

    Mensagem  Alvaro Teixeira 22/10/2015, 14:53

    Olá Gabriel Barbosa, o VBA por vezes tem umas coisas assim Basketball
    Obrigado pelo retorno, os utilizadores do fórum agradecem.
    Abraço

    Conteúdo patrocinado


    [Resolvido]Erro de compilação Empty Re: [Resolvido]Erro de compilação

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 07:39