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

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
Todas as Respostas
-
-
-
-
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
-
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.
-
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
-