Come risolvere MS Access Errore di runtime 3061: troppi pochi parametri. Previsto 1?

L’errore di runtime 3061 di Microsoft Access si verifica in genere quando l’utente tenta di eseguire una query o un’istruzione SQL che fa riferimento al parametro, ma Access non riesce a trovare un parametro che l’utente tenta di utilizzare. Il messaggio di errore indica “Run time error 3061: Too few parameters. Expected 1”. Questo può essere molto fastidioso poiché impedisce agli utenti di accedere al database.

SCREENSHOT DELL’ERRORE:

MS Access Errore di runtime 3061

Pertanto, se anche tu stai riscontrando l’errore sopra mostrato, non preoccuparti. Con questa guida esaustiva, puoi correggere l’errore 3061 di MS Access in pochissimo tempo.

Quindi iniziamo…

Voto Eccellente su Trustpilot
Strumento di Riparazione Database MS Access Gratuito
Ripara i file di database MDB e ACCDB corrotti e recupera facilmente tabelle, query, indici e record di database eliminati. Prova ora!
Scarica
Facendo clic sul pulsante Download sopra e installando Stellar Repair for Access (14.8 MB), riconosco di aver letto e accettato il Contratto di licenza per l'utente finale e la Politica sulla riservatezza di questo sito.

Cosa significano troppi pochi parametri?

Quando si verifica l’errore di runtime 3061: Troppi pochi parametri, significa semplicemente che le query o i moduli che stai tentando di utilizzare nella sintassi non sono riusciti a trovare il parametro a cui si fa riferimento nella query.

In parole semplici, questo errore si verifica spesso quando hai scritto male il campo o il nome di un parametro nella query o nel modulo. Tuttavia, i motivi che possono portare a questo errore sono molteplici, ad esempio:

  1. Nome del parametro con errori di ortografia
  2. Parametro mancante
  3. Numero errato di parametri
  4. Errore di sintassi SQL
  5. Tipo di dati errato
  6. Problema nella progettazione della query
  7. Database danneggiato.

Leggi anche: Errore di Access 2105: non puoi accedere al record specificato

Soluzioni per correggere l’errore 3061 di runtime di MS Access: troppi pochi parametri. Previsto 1

Prova i seguenti metodi passo-passo per gestire l’errore 3061 di MS Access.

Soluzione 1: modifica la tua query

La funzione OpenRecordset non dispone di alcun metodo per visualizzare una finestra di dialogo per richiedere gli input dell’utente come fa l’interfaccia utente se acquisisce un errore di questo tipo. Puoi modificare la tua query per utilizzare parametri che non sono associati a un modulo

yourTableAllocStart >= pAllocStart

and yourTableAllocEnd <= pAllocEnd

Quindi puoi utilizzare tale funzione per acquisire un recordset di quella query.

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

Lo svantaggio di questa procedura è che quando la descrivi su un modulo ad essa associato, non “riempie” vigorosamente gli spazi vuoti per te.

In tale situazione puoi allegare moduli qryAlloc_debts ed eseguire l’escape di qualsiasi clausola all’interno di una query memorizzata, quindi utilizzare il filtro del modulo per costruire la clausola where. In quell’illustrazione, puoi utilizzare la clausola where in modo accurato come l’hai stampata.

Successivamente, se desideri sbloccare un recordset, procedi come segue:

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

Quando si apre una query salvata che contiene parametri nel codice, è necessario utilizzare un oggetto DAO.Querydef e fornire i parametri tramite la compilazione dei parametri della sostanza Querydef.

Quindi scarti il recordset tramite la tecnica openrecordset dell’oggetto querydef come sostituto dello schema recordset aperto dell’oggetto database.

Non so se ciò che ho aggiunto al tuo codice verrà eseguito così com’è, ma mostra cosa è necessario fare per impostare l’oggetto querydef.

Soluzione 2: controllare i nomi dei parametri per correggere l’errore 3061 di runtime di MS Access: troppi pochi parametri

Un nome di parametro errato nella query o nella sintassi può attivare questo fastidioso messaggio di errore. In una situazione del genere, è necessario controllare i nomi dei parametri, se è stato trovato un nome errato, correggerlo nel codice o nell’istruzione.

Leggi anche: Access non può aggiungere tutti i record nell’errore di query di aggiunta

Soluzione 3: controlla i nomi delle tabelle e dei campi

1.) Potresti forse dimenticare di inserire la virgoletta singola (‘) attorno alla variabile all’interno della causa where nella query.

Ad esempio:

Se la struttura della mia tabella è

CREATE TABLE Persons

(

PersonID int,

LastName varchar(255),

FirstName varchar(255),

Address varchar(255),

City varchar(255)

);

La query che accetta tale errore è in qualche modo come

Set rs = dbs.OpenRecordset(“Select * From Persons Where FirstName = ” & p_firstname & “;”, dbOpenSnapshot)

Per risolvere questo problema, porta l’eroe, che è un codice singolo (‘), per assistere in questo modo:

Set rs = dbs.OpenRecordset(“Select * From Persons Where FirstName = ‘” & p_firstname & “‘;”, dbOpenSnapshot)

2.) Il campo della tabella è mancante o contiene errori di ortografia. Devi controllare la tua query e assicurarti che ogni campo nella query sia scritto correttamente o esista nella tabella.

Dalla struttura della tabella sopra, la query che potrebbe restituire questo errore è:

Set rs = dbs.OpenRecordset(“Select First_Name, Last_Name From Persons Where PersonID = 3;”, dbOpenSnapshot)

Per risolvere questo problema, correggi i campi nella query in questo modo:

Set rs = dbs.OpenRecordset(“Select FirstName, LastName From Persons Where PersonID = 3;”, dbOpenSnapshot)

Soluzione 4- Ripara il tuo database danneggiato

Come menzionato nella sezione delle cause, il danneggiamento del database di Access può anche comportare un numero troppo basso di parametri per openrecordset. Previsto 1 errore. Tuttavia, puoi utilizzare “Compatta e ripara“, un’utilità di Access integrata per riparare i database di Access danneggiati.

Seguire i passaggi seguenti per eseguire questo strumento:

  • Assicurarsi di chiudere il file di database interessato.
  • Quindi, aprire l’applicazione Access. Vai alla pagina Modelli, quindi fai clic su Database vuoto.
  • Ora seleziona File >> fai clic su Chiudi >> Strumenti database.
  • Successivamente, fare clic su Compatta e ripristina database.

MS Access Errore di runtime 3061

  • Nella finestra di dialogo “Database da compattare da”, seleziona il database che desideri riparare.
  • Fare clic su Compatta.

MS Access Errore di runtime 3061

Ora, il database compattato e riparato verrà automaticamente salvato in una posizione simile in cui è archiviato un database reale.

Soluzione consigliata per correggere Openrecordset Troppi parametri previsti 1 errore

Se lo strumento Compatta e ripara non riesce a riparare il database, opta per uno strumento avanzato Access Riparazione Attrezzo. Ha lo scopo di riparare i file .ACCDB e .MDB gravemente corrotti insieme al ripristino degli oggetti del database come record, tabelle, query, macro, indici, moduli, ecc. Inoltre, può riparare moduli e moduli protetti da password.

* Facendo clic sul pulsante Download sopra e installando Stellar Repair for Access (14.8 MB), riconosco di aver letto e accettato il Contratto di licenza per l'utente finale e la Politica sulla riservatezza di questo sito.

Passaggi per correggere la corruzione del database di Access

access-repair-main-screen-it-1
access-select-database-it-2
access-repairing-it-3
access-repairing-completed-it-4
access-preview-it-5
access-save-location-it-6
access-saving-it-7
previous arrow
next arrow

Riassumere

Dai 2 esempi sopra forniti, spero che sarai in grado di correggere l’errore di run-time “3061” di MS Access. In caso contrario, ti consiglierei semplicemente di avvalerti del più esperto MS Access Riparazione E Recupero Attrezzo. Questo strumento di riparazione è molto importante nella risoluzione di errori e bug relativi a MS Access e nel ripristino del database in un file completamente nuovo senza alcuna difficoltà.

Quindi puoi provare questo….!

Hai ancora problemi? Risolvili con la Stellar riparazione per Access:

Questo software garantisce riparazione e recupero di senza soluzione di continuità del database ACCDB e MDB. Esso ripristina tutti gli oggetti tra cui tabelle, report, query, record, moduli e indici insieme a moduli, macro, ecc. Fissare Microsoft Access problemi di ora in 3 semplici passaggi:

  1. Scarica Stellar Access database riparazione strumento rated ottima su Cnet.
  2. Fai clic sull'opzione Sfoglia e Cerca per individuare il database di Access corrotto.
  3. Fai clic su Ripara Pulsante per riparae visualizzare in anteprima gli oggetti del database.

Pearson Willey è uno scrittore di contenuti di siti Web e lungo-forma pianificatore di contenuti. Oltre a questo, è anche un avido lettore. Quindi sa benissimo come scrivere un contenuto accattivante per i lettori. Scrivere è come un vantaggio crescente per lui. Ama esplorare le sue conoscenze su MS Access e condividere blog tecnici.