Você já se aprofundou na codificação, executando uma consulta ou instrução SQL e, de repente, encontrou o temido “Run time error 3061: Too few parameters. Expected 1“? É frustrante, não é? Mas não precisa se preocupar, você não está sozinho. Muitos usuários estão enfrentando o mesmo problema. Compreender esse erro irritante e saber como solucioná-lo pode poupar horas de dores de cabeça. Bem, este guia completo irá ajudá-lo a corrigir o erro 3061 do MS Access rapidamente e manter seu código funcionando perfeitamente.
CAPTURA DE TELA DO ERRO:
Então vamos começar…
Ferramenta Gratuita de Reparo de Banco de Dados do MS Access
Repare arquivos de banco de dados MDB e ACCDB corrompidos e recupere tabelas de banco de dados, consultas, índices e registros excluídos facilmente. Tente agora!
O que significa poucos parâmetros?
Quando ocorre o erro de tempo de execução 3061: Muito poucos parâmetros, isso significa simplesmente que as consultas ou formulários que você está tentando usar na sintaxe não conseguiram encontrar o parâmetro referenciado em sua consulta.
Em palavras simples, esse erro é frequentemente encontrado quando você digita incorretamente o campo ou o nome de um parâmetro em sua consulta ou formulário. No entanto, existem vários motivos que podem levar a esse erro, como:
- Nome do parâmetro com erro ortográfico
- Parâmetro ausente
- Número errado de parâmetros
- Erro de sintaxe SQL
- Tipo de dados incorreto
- Problema no Design da Consulta
- Banco de dados corrompido.
Leia também: Erro de acesso 2105: você não pode ir para o registro especificado
Soluções para corrigir o erro 3061 de tempo de execução do MS Access: poucos parâmetros. Esperado 1
Experimente os métodos passo a passo abaixo para lidar com o erro de tempo de execução do MS Access 3061 esperado 1.
Solução 1 – Modifique sua consulta
A função OpenRecordset não tem nenhum método para abrir uma caixa de diálogo para solicitar as entradas do usuário, como a UI faz se adquirir tal erro. Você pode modificar sua consulta para usar parâmetros que não estão vinculados a um formulário
yourTableAllocStart >= pAllocStart
and yourTableAllocEnd <= pAllocEnd
Então você pode usar essa função para adquirir um conjunto de registros dessa consulta.
Function GetQryAllocDebits(pAllocStart As String, pAllocEnd As String) As DAO.Recordset
Dim db As DAO.Database
Dim qdef As DAO.QueryDef
Set db = CurrentDb
Set qdef = db.QueryDefs(“qryAlloc_Debits”)
qdef.Parameters.Refresh
qdef.Parameters(“pAllocStart”).Value = pAllocStart
qdef.Parameters(“pAllocEnd”).Value = pAllocEnd
Set GetQryAllocDebits = qdef.OpenRecordset
End Function
A desvantagem desse procedimento é que, quando você descreve isso em um formulário vinculado a ele, ele não “preenche os espaços em branco” vigorosamente para você.
Nessa situação, você pode anexar formulários qryAlloc_debts e escapar de qualquer cláusula dentro de uma consulta armazenada e, em seguida, usar o filtro do formulário para construir sua cláusula where. Nessa ilustração, você pode empregar a cláusula where com precisão como a imprimiu.
Depois disso, se desejar desbloquear um conjunto de registros, faça o seguinte:
Function GetQryAllocDebits(pAllocStart As String, pAllocEnd As String) As DAO.Recordset
Dim qdef As DAO.QueryDef
Set qdef = New DAO.QueryDef
qdef.SQL = “Select * from qryAlloc_Debits where AllocStart >= pAllocStart and pAllocEnd <= pAllocEnd”
qdef.Parameters.Refresh
qdef.Parameters(“pAllocStart”).Value = pAllocStart
qdef.Parameters(“pAllocEnd”).Value = pAllocEnd
Set GetQryAllocDebits = qdef.OpenRecordset
End Function
Ao abrir uma consulta salva que possui parâmetros no código, você deve usar um objeto DAO.Querydef e fornecer o(s) parâmetro(s) por meio da compilação dos parâmetros da substância Querydef.
Em seguida, você desembrulha o conjunto de registros por meio da técnica openrecordset do objeto querydef em vez do esquema de conjunto de registros aberto do objeto de banco de dados.
Não sei se o que adicionei ao seu código funcionará como está, mas mostra o que precisa ser feito para configurar o objeto querydef.
Solução 2 – Verifique os nomes dos parâmetros para corrigir o erro de tempo de execução do MS Access 3061: poucos parâmetros
Um nome de parâmetro incorreto na consulta ou sintaxe pode desencadear essa mensagem de erro irritante. Nessa situação, é necessário verificar os nomes dos parâmetros; se for encontrado algum nome incorreto, corrija-o no código ou na instrução.
Leia também: O Access não pode anexar todos os registros no erro de consulta Append
Solução 3 – Verifique os nomes das tabelas e campos
1.) Você pode esquecer de colocar aspas simples (‘) em torno da variável na causa where da consulta.
Por exemplo:
Se a estrutura da minha tabela for
CREATE TABLE Persons
(
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);
A consulta que permite tal erro é algo como
Set rs = dbs.OpenRecordset(“Select * From Persons Where FirstName = ” & p_firstname & “;”, dbOpenSnapshot)
Para resolver esse problema, carregue o herói, que é um código único (‘), para auxiliar assim:
Set rs = dbs.OpenRecordset(“Select * From Persons Where FirstName = ‘” & p_firstname & “‘;”, dbOpenSnapshot)
2.) O campo da tabela está faltando ou com erro ortográfico. Você precisa verificar sua consulta e certificar-se de que todos os campos da consulta estão escritos corretamente ou existem na tabela.
Na estrutura da tabela acima, a consulta que pode gerar esse erro é:
Set rs = dbs.OpenRecordset(“Select First_Name, Last_Name From Persons Where PersonID = 3;”, dbOpenSnapshot)
Para resolver este problema, corrija os campos da consulta assim:
Set rs = dbs.OpenRecordset(“Select FirstName, LastName From Persons Where PersonID = 3;”, dbOpenSnapshot)
Solução 4 – Repare seu banco de dados corrompido
Conforme mencionado na seção de causas, a corrupção no banco de dados Access também pode resultar em poucos parâmetros do openrecordset. Esperado 1 erro. No entanto, você pode usar “Compact and Repair” – um utilitário integrado do Access para reparar seus bancos de dados Access corrompidos.
Siga as etapas abaixo para executar esta ferramenta:
- Certifique-se de fechar o arquivo de banco de dados afetado.
- Em seguida, abra o aplicativo Access. Vá para a página Modelos e clique em Banco de dados em branco.
- Agora, selecione Arquivo >> clique em Fechar >> Ferramentas de Banco de Dados.
- Depois disso, clique em Compactar e Reparar Banco de Dados.
- Na caixa de diálogo “Banco de dados para compactar de”, selecione o banco de dados que deseja reparar.
- Clique em Compactar.
Agora, o banco de dados compactado e reparado será salvo automaticamente em um local semelhante onde um banco de dados real está armazenado.
Solução recomendada para corrigir Openrecordset com poucos parâmetros esperados 1 erro
Se a ferramenta Compact & Repair não conseguir consertar o banco de dados, opte por uma ferramenta avançada Access Reparar Ferramenta. Destina-se a reparar os arquivos .ACCDB e .MDB gravemente corrompidos, juntamente com a recuperação de objetos de banco de dados, como registros, tabelas, consultas, macros, índices, módulos, etc.
* Ao clicar no botão Download acima e instalar o Stellar Repair for Access (14.8 MB), reconheço que li e concordo com o Contrato de licença do usuário final e a Política de privacidade deste site.
Etapas para corrigir corrupção de banco de dados de Access
Perguntas frequentes relacionadas:
O que há poucos parâmetros no Microsoft Query?
Poucos parâmetros no Microsoft Query significam que o nome da sua consulta ou formulário está escrito incorretamente no campo ou em um parâmetro.
Quantos parâmetros são parâmetros demais?
10 argumentos ou mais são muitos parâmetros no Microsoft Access.
Qual é a maneira correta de passar o parâmetro de consulta?
Acrescentar parâmetro de consulta é a maneira correta de passar consulta ou sintaxe.
Existe um limite para os parâmetros da função?
Não há limite máximo de parâmetros ou argumentos para uma função definida pelo usuário.
Qual é o número máximo de parâmetros que um método pode aceitar?
255 é o número máximo de parâmetros que um método pode aceitar.
Veredicto Final
MS Access com poucos parâmetros esperados 1 erro é um obstáculo comum no gerenciamento de banco de dados, mas com a abordagem certa, é facilmente solucionável. Porém, ao compreender esse erro, diagnosticá-lo com precisão e aplicar as melhores resoluções especificadas neste blog, você pode solucionar esse erro e retomar seu trabalho.
Boa codificação!
Este software garante sem costura reparo e recuperação do banco de dados ACCDB e MDB. Ele restaura todos os objetos, incluindo tabelas, relatórios, consultas, registros, formulários e índices, juntamente com módulos, macros, etc. Corrija os problemas do Microsoft Access agora em 3 etapas fáceis:
- Baixar Stellar Access banco de dados reparo ferramenta avaliado Excelente sobre Cnet.
- Clique nas opções Browse e Pesquisa para localizar um banco de dados corrompido do Access.
- Clique no botão Reparar para reparar e pré-visualização os objetos do banco de dados.