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 em tempo de execução '3021' - Nenhum registro atual

    Samuel Ribeiro
    Samuel Ribeiro
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 584
    Registrado : 05/02/2011

    [Resolvido]Erro em tempo de execução '3021' - Nenhum registro atual Empty [Resolvido]Erro em tempo de execução '3021' - Nenhum registro atual

    Mensagem  Samuel Ribeiro 31/1/2015, 20:04

    Boa tarde

    Faz dia que estou tentando resolver este erro mas não consigo, tenho um formulário onde digito o código interno de um produto da loja onde trababalho que uso para alterar o endereço do mesmo, mas assim que digito o código do produto me vem o seguinte erro:

    Erro em tempo de execução '3021':
    Nenhum registro atual

    Estou usando o seguinte código:

    Código:
    Private Sub txtCodInternoEndereco_AfterUpdate()

    Dim strDocNome As String
    Dim strLinkCriteria As String

        strDocNome = "FormCadastroEnderecoCodigo"
     
    If (Not IsNull(DLookup("[Cod_Interno_Item]", "Cadastro_Itens", _
            "[Cod_Interno_Item] ='" & Me!Cod_Interno_Item & "'"))) Then

         
            Dim rs As DAO.Recordset
    Set rs = CurrentDb.OpenRecordset("Select * From Cadastro_Itens Where Cod_Interno_Item = '" & Me!txtCodInternoEndereco & "'")

          rs.MoveLast
         
    'Autopreencher os campos com os dados do registro encontrado:
    Me.txtCodigoFocItem = rs("Cod_Foc_Item")
    Me.txtCodigoBarrasItem = rs("Cod_Barras_Item")
    Me.txtMarcaItem = rs("Marca_Item")
    Me.txtDescricaoItem = rs("Descricao_Item")
    Me.TxtEndProdAtual = rs("Endereco_Item")

    Me.TxtNovoEndProduto.SetFocus

    End If

    End Sub

    E quando peço para depurar esta linha rs.MoveLast , aparece selecionada em amarelo.

    Desde ja agradeço.


    .................................................................................
    ______________________________
         Samuel Carlos Ribeiro
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Erro em tempo de execução '3021' - Nenhum registro atual Empty Re: [Resolvido]Erro em tempo de execução '3021' - Nenhum registro atual

    Mensagem  Alexandre Neves 1/2/2015, 12:39

    Boa tarde,
    Veja qual o valor assumido pela variável, substitua-a na expressão e teste em consulta
    Select * From Cadastro_Itens Where Cod_Interno_Item = '" & Me!txtCodInternoEndereco & "'"
    Se não devolver qualquer registo, não deve utilizar o movelast


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Samuel Ribeiro
    Samuel Ribeiro
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 584
    Registrado : 05/02/2011

    [Resolvido]Erro em tempo de execução '3021' - Nenhum registro atual Empty Re: [Resolvido]Erro em tempo de execução '3021' - Nenhum registro atual

    Mensagem  Samuel Ribeiro 4/2/2015, 10:01

    Bom dia.

    Desculpe a demora, muito corrido ultimamente.
    Consegui pelo menos fazer funcionar, com pouco mudanças.
    Vejo que o colega Alexandre neves tem razão, o problema esta acontecendo devido a esta linha.

    "rs.MoveLast"

    Veja como ficou o código:

    Código:
    Private Sub txtCodInternoEndereco_AfterUpdate()

    Dim strDocNome As String
    Dim strLinkCriteria As String

        strDocNome = "FormCadastroEnderecoCodigo"
        
    If (Not IsNull(DLookup("[Cod_Interno_Item]", "Cadastro_Itens", _
            "[Cod_Interno_Item] ='" & Me!Cod_Interno_Item & "'"))) Then
            Dim rs As DAO.Recordset
    Set rs = CurrentDb.OpenRecordset("Select * From Cadastro_Itens Where Cod_Interno_Item = '" & Me!txtCodInternoEndereco & "'")
        
     rs.MoveLast
        
    'Autopreencher os campos com os dados do registro encontrado:
    Me.txtCodigoFocItem = rs("Cod_Foc_Item")
    Me.txtCodigoBarrasItem = rs("Cod_Barras_Item")
    Me.txtMarcaItem = rs("Marca_Item")
    Me.txtDescricaoItem = rs("Descricao_Item")
    Me.TxtEndProdAtual = rs("Endereco_Item")

    Me.TxtNovoEndProduto.SetFocus
    'End If
    End If
    End Sub

    Continuo tentando fazer com que esta mensagem suma:
    Erro em tempo de execução: Nenhum registro atual. Acontece somente com os produtos que não estão cadastrados.
    Desde ja Agradeço.


    .................................................................................
    ______________________________
         Samuel Carlos Ribeiro
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Erro em tempo de execução '3021' - Nenhum registro atual Empty Re: [Resolvido]Erro em tempo de execução '3021' - Nenhum registro atual

    Mensagem  JPaulo 4/2/2015, 15:58

    Set rs = CurrentDb.OpenRecordset("Select * From Cadastro_Itens Where Cod_Interno_Item = '" & Me!txtCodInternoEndereco & "'")

    'Se não existir registro, não avança  
    If rs.RecordCount = 0 Then Exit Sub


    .................................................................................
    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 em tempo de execução '3021' - Nenhum registro atual Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Erro em tempo de execução '3021' - Nenhum registro atual Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Erro em tempo de execução '3021' - Nenhum registro atual Folder_announce_new Instruções SQL como utilizar...
    Samuel Ribeiro
    Samuel Ribeiro
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 584
    Registrado : 05/02/2011

    [Resolvido]Erro em tempo de execução '3021' - Nenhum registro atual Empty Re: [Resolvido]Erro em tempo de execução '3021' - Nenhum registro atual

    Mensagem  Samuel Ribeiro 8/4/2015, 11:55

    Bom dia Pessoal

    Esqueci de finalizar este tópico, problema resolvido.
    Veja como ficou o código.

    Código:
    Private Sub txtCodInternoEndereco_AfterUpdate()

    Dim strDocNome As String
    Dim strLinkCriteria As String

        strDocNome = "FormCadastroEnderecoCodigo"
       
    If (Not IsNull(DLookup("[Cod_Interno_Item]", "Cadastro_Itens", _
            "[Cod_Interno_Item] ='" & Me!txtCodInternoEndereco & "'"))) Then
            Dim rs As DAO.Recordset
    Set rs = CurrentDb.OpenRecordset("Select * From Cadastro_Itens Where Cod_Interno_Item ='" & Me.txtCodInternoEndereco & "'")
        'If rs.RecordCount > 0 Then
          rs.MoveLast
          'Autopreencher os campos com os dados do registro encontrado:
          Me.txtCodigoFocItem = rs("Cod_Foc_Item")
          Me.txtCodigoBarrasItem = rs("Cod_Barras_Item")
          Me.txtMarcaItem = rs("Marca_Item")
          Me.txtDescricaoItem = rs("Descricao_Item")
          Me.TxtEndProdAtual = rs("Endereco_Item")
          'Else
          'Não faz nada
        'End If
    Me.TxtNovoEndProduto.SetFocus
    End If
    End Sub

    Obrigado a todos.


    .................................................................................
    ______________________________
         Samuel Carlos Ribeiro

    Conteúdo patrocinado


    [Resolvido]Erro em tempo de execução '3021' - Nenhum registro atual Empty Re: [Resolvido]Erro em tempo de execução '3021' - Nenhum registro atual

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/11/2024, 16:24