MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Erro de compilação 461

    Compartilhe

    João Ricardo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 453
    Registrado : 20/01/2013

    [Resolvido]Erro de compilação 461

    Mensagem  João Ricardo em Sex 25 Abr 2014, 14: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
    O autor desta mensagem foi removido do fórum - Ver a mensagem

    Beto Givoni
    VIP
    VIP

    Respeito às Regras 0%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1207
    Registrado : 04/01/2011

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

    Mensagem  Beto Givoni em Sex 25 Abr 2014, 15:40

    Olá, esse erro é porque esse campo CodPeca não existe, verifica o nome correto do controle.

    João Ricardo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 453
    Registrado : 20/01/2013

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

    Mensagem  João Ricardo em Sex 25 Abr 2014, 23: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?
    O autor desta mensagem foi removido do fórum - Ver a mensagem

    João Ricardo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 453
    Registrado : 20/01/2013

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

    Mensagem  João Ricardo em Sab 26 Abr 2014, 19:03

    Fala Beto!!

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

    Download

    Obrigado
    O autor desta mensagem foi removido do fórum - Ver a mensagem

    João Ricardo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 453
    Registrado : 20/01/2013

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

    Mensagem  João Ricardo em Sab 26 Abr 2014, 21:12

    .


    Última edição por João Ricardo em Sab 26 Abr 2014, 21:51, editado 1 vez(es)

    João Ricardo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 453
    Registrado : 20/01/2013

    Erro de comparação

    Mensagem  João Ricardo em Sab 26 Abr 2014, 21: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.
    O autor desta mensagem foi removido do fórum - Ver a mensagem

    João Ricardo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 453
    Registrado : 20/01/2013

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

    Mensagem  João Ricardo em Dom 27 Abr 2014, 03: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
    O autor desta mensagem foi removido do fórum - Ver a mensagem

      Data/hora atual: Dom 11 Dez 2016, 00:14