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


    [Resolvido]Erro de compilação 461

    João Ricardo
    João Ricardo
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 534
    Registrado : 19/01/2013

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

    Mensagem  João Ricardo 25/4/2014, 10:25

    Amigos, bom dia!

    Onde está o erro no trecho do código abaixo:

    If Me.CodPeca = 14 And Me.CodigoMedidaUniforme <= 18 Then
    Em Me.CodPeca dá erro de compilação: Método ou membro de dados não encontrados
    O erro só aparece em Private Sub cboMedida_AfterUpdate()

    Em Private Sub CombPeca_AfterUpdate() não dá erro algum.

    Li o arquivo de ajuda do VBA mas não compreendi.

    Código:
    Private Sub cboMedida_AfterUpdate()
        
            If Me.CodPeca = 14 And Me.CodigoMedidaUniforme <= 18 Then

            Me.cboMedida.SetFocus
            Me.cboMedida.Dropdown
        Else
            MsgBox "Você escolheu uma medida que não pertence a esta peça, escolha outra ou pesquisa nas orientações sobre as medidas do uniforme.", vbCritical, "Sistema Educacional"
            frm.Undo
            Me.CombPeca.Dropdown
        End If

    End Sub

    Private Sub CombPeca_AfterUpdate()
    'By JPaulo ® Maximo Access
    Dim I As Long
    Dim rs As DAO.Recordset
    Dim rsf As Recordset, frm As Form
    Set frm = Me
    Set rsf = Me.RecordsetClone

    'Este evita ter mais de um produto para o mesmo aluno.

    If Me.CodPeca <> 0 Then
       rsf.FindFirst "[CodPeca]= " & Me!CodPeca
       If Not rsf.NoMatch Then
          frm.Undo
          MsgBox "Você já adicionou esse peça, escolha outra.", vbCritical, "Sistema Educacional"
          Exit Sub
       End If
    End If

    '----Verifica o Sexo do individuo

    If Me.Parent.ListaNomeAluno.Column(3) = "M" And Me.CodPeca = 15 Then ' Maiô

       MsgBox "Você escolheu MAIÔ para um ALUNO, escolha SUNGA!", vbCritical, "Sistema Educacional"
       frm.Undo
       Me.CombPeca.Dropdown
    ElseIf Me.Parent.ListaNomeAluno.Column(3) = "F" And Me.CodPeca = 16 Then
       MsgBox "Você escolheu SUNGA para uma ALUNA, escolha MAIÔ!", vbCritical, "Sistema Educacional"
       frm.Undo
       Me.CombPeca.Dropdown
       Exit Sub
    End If
    avatar
    Convidado
    Convidado


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

    Mensagem  Convidado 25/4/2014, 11:40

    Olá, esse erro é porque esse campo CodPeca não existe, verifica o nome correto do controle.
    João Ricardo
    João Ricardo
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 534
    Registrado : 19/01/2013

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

    Mensagem  João Ricardo 25/4/2014, 19:29

    Olá Beto, grato pelo retorno.

    Eu suspeitei que fosse isso, mas eu copiei e colei para evitar erro, além de observa várias vezes.

    O nome do controle é o mesmo nome dele na estrutura da tabela ou o nome do rótulo?

    Por que no código seguinte ele funciona bem?
    avatar
    Convidado
    Convidado


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

    Mensagem  Convidado 25/4/2014, 20:20

    Se possível posta os objetos, pois fica mais fácil descobrir o que está ocorrendo.
    João Ricardo
    João Ricardo
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 534
    Registrado : 19/01/2013

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

    Mensagem  João Ricardo 26/4/2014, 15:03

    Fala Beto!!

    Segue o link para download e análise do banco de dados

    Download

    Obrigado
    avatar
    Convidado
    Convidado


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

    Mensagem  Convidado 26/4/2014, 16:16

    O Problema é que estais tentando fazer referência a um controle em um subformulário aninhado sem mencionar o formulário principal, troca o código do evento após atualizar da combo cboMedida por esse:

    If Forms!frmDistribuicaoDoUniforme!sfrmDistribuicaoUniforme.Form!CodPeca = 14 And Forms!frmDistribuicaoDoUniforme!sfrmDistribuicaoUniforme.Form!CodigoMedidaUniforme <= 18 Then
    Me.cboMedida.SetFocus
    Me.cboMedida.Dropdown
    Else
    MsgBox "Você escolheu uma medida que não pertence a esta peça, escolha outra ou pesquisa nas orientações sobre as medidas do uniforme.", vbCritical, "Sistema Educacional"
    Me.Undo
    Forms!frmDistribuicaoDoUniforme!sfrmDistribuicaoUniforme.Form!CombPeca.SetFocus
    Forms!frmDistribuicaoDoUniforme!sfrmDistribuicaoUniforme.Form!CombPeca.Dropdown
    End If
    João Ricardo
    João Ricardo
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 534
    Registrado : 19/01/2013

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

    Mensagem  João Ricardo 26/4/2014, 17:12

    .


    Última edição por João Ricardo em 26/4/2014, 17:51, editado 1 vez(es)
    João Ricardo
    João Ricardo
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 534
    Registrado : 19/01/2013

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

    Mensagem  João Ricardo 26/4/2014, 17:50

    Meu amigo, mais uma vez muito obrigado!

    Funcionou perfeitamente, e creio que o mais importante, o aprendizado de como fazer.

    Como fazer para comparar dois grupos de códigos, como por exemplo:

    Escolho camiseta com código 1;
    As medidas da camiseta estão com os códigos entre 1 e 5 e de 19 a 22.
    Veja como fiz:



    Código:
     If Forms!frmDistribuicaoDoUniforme!sfrmDistribuicaoUniforme.Form!CodPeca = 1 And _
            Forms!frmDistribuicaoDoUniforme!sfrmDistribuicaoUniforme.Form!CodigoMedidaUniforme >= 1 And _
            Forms!frmDistribuicaoDoUniforme!sfrmDistribuicaoUniforme.Form!CodigoMedidaUniforme <= 5 Or _
            Forms!frmDistribuicaoDoUniforme!sfrmDistribuicaoUniforme.Form!CodigoMedidaUniforme >= 19 And _
            Forms!frmDistribuicaoDoUniforme!sfrmDistribuicaoUniforme.Form!CodigoMedidaUniforme <= 22 Then
            Me.cboMedida.SetFocus
            Me.cboMedida.Dropdown
        Else
            MsgBox "Você escolheu uma medida que não pertence a esta peça, escolha outra ou pesquisa nas orientações sobre as medidas do uniforme.", vbCritical, "Sistema Educacional"
            Me.Undo
            Forms!frmDistribuicaoDoUniforme!sfrmDistribuicaoUniforme.Form!CombPeca.SetFocus
            Forms!frmDistribuicaoDoUniforme!sfrmDistribuicaoUniforme.Form!CombPeca.Dropdown
        End If

    Deu erro qdo chegou no segundo grupo de comparação. O mais correto seria repetir os valores das medidas para camiseta e digitá-los todos no mesmo intervalo, sem interrupção como ficou acima?


    Grato novamente.
    avatar
    Convidado
    Convidado


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

    Mensagem  Convidado 26/4/2014, 20:59

    Bom estou levando em consideração o código passado no último post, depois do Or tem que ter: Forms!frmDistribuicaoDoUniforme!sfrmDistribuicaoUniforme.Form!CodPeca = 1 And e o resto que já está lá.
    João Ricardo
    João Ricardo
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 534
    Registrado : 19/01/2013

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

    Mensagem  João Ricardo 26/4/2014, 23:18

    Ok! Deu certo.

    Troquei a linha de referência ao formulário e subformulário por uma variável do tipo Variant e deu certo, assim o código fica mais fácil de ser lido.

    Muito obrigado
    avatar
    Convidado
    Convidado


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

    Mensagem  Convidado 27/4/2014, 12:35

    Ok, saudações do fórum pelo retorno e fechamento do tópico

    Conteúdo patrocinado


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

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/4/2024, 10:02