none
Erro em tempo de execução '3061': RRS feed

  • Pergunta

  • Bom dia

    Estou no Termino de um sistema de endereçamento de produtos na empresa onde trabalho, mas infelizmente na hora de trocar o endereço através de um campo do formulário chamado txtCodInternoEndereco o sistema me trás o Seguinte Erro:

    Erro em tempo de execução '3061':

    Parâmetros insuficiente. Eram esperados 1

    Segue abaixo o código:

    Private Sub txtCodInternoEndereco_AfterUpdate() Dim rs As DAO.Recordset Set rs = CurrentDb.OpenRecordset("SELECT * FROM Cadastro_Itens WHERE" _ & " txtCodInternoEndereco = " & Me!txtCodInternoEndereco) '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 Sub

    -----------------------------------------------------------------------------------------------------------

    Private Sub cmdCadNovoEndereco_Clik() On Error Resume Next '// Verifica se os campos obrigatórios estão nulos If IsNull(Me.txtCodInternoEndereco.Column(0)) Or _ Me.txtCodInternoEndereco.Column(0) = "" Or _ IsNull(Me.TxtNovoEndProduto.Value) Or _ Me.TxtNovoEndProduto.Value = "" Then MsgBox "Escolha o código do produto e informe o novo Endereço e tente novamente. ", vbInformation, "Sistema de Consulta de Produto - Informação": Exit Sub End If '// Variáveis Dim rs As DAO.Recordset '// Abre o recordset pelo produto selecionado na TXT "Cod_Interno_Item" Set rs = CurrentDb.OpenRecordset("Select Endereco_Item From Cadastro_Itens Where Cod_Interno_Item='" & Me.txtCodInternoEndereco.Column(1) & "'", dbOpenDynaset) rs.Edit 'Coloca a tabela em modo de edição rs![Endereco_Item] = Me.cmdNovoEndProduto.Value 'Atualiza o valor do campo rs.Update 'Salva a modificação '// Informa ao usuário MsgBox "Endereço do Produto atualizado com sucesso", vbInformation + vbOKOnly, "Sistema de Consulta de Produtos - Informação" '// Limpa o campo Novo Estoque Me.TxtNovoEndProduto = "" '// fecha o recordset e limpa a memória Set rs = Nothing: Close '// Atualiza as informações no formulário Call cmdCodInternoEndereco_AfterUpdate '// Encerra a sub definitivamente Exit Sub End Sub

    Certo da atenção de todos agradeço

    segunda-feira, 29 de dezembro de 2014 11:29

Todas as Respostas

  • Samuel,

    acho que o erro está na estrutura do seu select.

    Set rs = CurrentDb.OpenRecordset("SELECT * FROM Cadastro_Itens WHERE" _
             & " txtCodInternoEndereco = " & Me!txtCodInternoEndereco)

    Qual a linha que está gerando erro?


    Natan

    segunda-feira, 29 de dezembro de 2014 13:10
  • Bom dia Natan.

    O erro esta nesta estrutura do select mesmo, quando o erro aparece estas duas Linhas ficam selecionadas em amarelo.

    Desde já agradeço a sua atenção

    Obrigado

    segunda-feira, 29 de dezembro de 2014 13:20
  • boa tarde

    Se alguém souber como resolvo este pequeno problema meu, eu agradeço, estou tentando de todo os jeitos e não consigo.

    Desde já agradeço.

    segunda-feira, 29 de dezembro de 2014 19:50
  • Você tem certeza que na sua base de dados você tem uma tabela chamada Cadastro_Itens e que nessa tabela há um campo chamado txtCodInternoEndereco?

    Além disso, tem certeza que esse campo é um número, e não texto?



    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    segunda-feira, 29 de dezembro de 2014 22:23
    Moderador
  • Bom dia Felipe.

    Você tem razão, a tabela é sim Cadastro_Itens mas o campo na tabela esta com o nome Cod_Interno_Item, e na tabela esta como texto curto, txtCodInternoEndereco é o campo no formulário, alterei o código que ficou assim:

    Private Sub txtCodInternoEndereco_AfterUpdate()
    Dim rs As DAO.Recordset
    Set rs = CurrentDb.OpenRecordset("SELECT * FROM Cadastro_Itens WHERE" _
             & "txtCodInternoEndereco = '" & Me!Cod_Interno_Item & "'")
    '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 Sub

    Mas infelizmente continua dando o mesmo erro.

    Desde ja agradeço a sua atenção.

    terça-feira, 30 de dezembro de 2014 10:42
  • Set rs = CurrentDb.OpenRecordset("SELECT * FROM Cadastro_Itens WHERE " _
             & "Cod_Interno_Item = '" & Me!Cod_Interno_Item & "'")
    
    'ou
    
    Set rs = CurrentDb.OpenRecordset("SELECT * FROM Cadastro_Itens WHERE " _
             & "Cod_Interno_Item = " & Me!Cod_Interno_Item)


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    terça-feira, 30 de dezembro de 2014 11:21
    Moderador
  • Obrigado Felipe, até funcionou só que ele não traz o registro do código que informei, traz o registro do primeiro item cadastrado no sistema.
    terça-feira, 30 de dezembro de 2014 11:47