Molti utenti di Access hanno segnalato che il messaggio di errore "Argomento non valido" si verifica durante l'esecuzione di varie attività nell'applicazione MS Access. L'errore può verificarsi quando si utilizza il codice VBA per importare o esportare dati da un file di database Access a un progetto Access o viceversa. Di solito si verifica quando ci sono problemi con gli argomenti o i parametri specificati nelle funzioni, nelle macro, nelle query o in altri oggetti del codice VBA. Questo errore può verificarsi nei seguenti scenari:
- Se tenta di eseguire una query di aggiornamento dopo aver aggiornato l'applicazione Access a una nuova versione.
- Se utilizza la funzione Importa (metodo TransferSpreadsheet) nel codice VBA.
- Se utilizza la Gestione tabelle collegate per collegare fonti di dati esterne in Access.
- Quando si eseguono le query per importare file di database di grandi dimensioni.
Scopriamo ora le ragioni di questo errore e le soluzioni per correggere il problema.
Qual è il motivo del messaggio di errore 'Argomento non valido' in MS Access?
Non ci sono ragioni note per l'errore "Argomento non valido" in MS Access. L'errore può verificarsi per uno dei seguenti motivi:
- Se i tipi di dati specificati nelle tabelle collegate non corrispondono ai tipi di dati specificati nelle query. (Se il suo database contiene tabelle collegate).
- Configurazione errata della tabella collegata.
- Le sue query si basano sulle librerie esterne, che non sono disponibili.
- Chiama una funzione VBA con un argomento errato. Ad esempio, passa una stringa di testo a una funzione che si aspetta un numero.
- Ha inavvertitamente trasferito i parametri o gli argomenti sbagliati nella funzione Import (metodo TransferSpreadsheet).
- Sta utilizzando una query SQL incompleta nel database.
- Le tabelle collegate, le query o altri elementi del file di database sono danneggiati.
- Se esegue delle query su un file di database di grandi dimensioni.
- Nelle query vengono utilizzati operatori o espressioni errati, ad esempio la query update/append.
- Problemi con l'azione Macro.
- Ha assegnato valori non validi quando ha inizializzato le variabili nel codice VBA.
- Disattiva le impostazioni macro.
Metodi per risolvere il messaggio di errore 'Argomento non valido' in MS Access
L'errore Argomento non valido può verificarsi se le azioni macro nelle query sono fallite a causa di impostazioni macro disattivate. Controlli e attivi tutte le opzioni macro nelle impostazioni macro di Access. Tuttavia, queste impostazioni possono rendere il suo sistema vulnerabile al codice maligno. Se l'errore si verifica ancora dopo aver controllato e attivato le impostazioni macro, segua i metodi di risoluzione dei problemi riportati di seguito.
Metodo 1: verificare la compatibilità del codice VBA con la versione della sua applicazione MS Access
L'errore Argomento non valido può verificarsi a causa di problemi di compatibilità tra il codice VBA e la versione dell'applicazione Microsoft Access. Di solito questo accade quando il codice VBA nel database è stato scritto e sviluppato per una versione inferiore e lei lo utilizza in una versione superiore. Ad esempio, si esegue un codice VBA creato prima del rilascio di Office 2010 (versione VBA 6 e inferiore) su una versione a 64 bit (Office 2019). Può rivedere e modificare il codice per renderlo compatibile con le versioni a 32 e 64 bit. Ecco i passaggi:
- Nel database di Access, faccia clic su Strumenti database e poi sull'opzione Visual Basic.
- Clicchi sul modulo del database desiderato nell'editor VBA.
- Controlli il codice VBA e trovi l'istruzione in cui ha utilizzato le dichiarazioni Declare. Può aggiungere tre opzioni: PtrSafe, longlong data-type e LongPtr.
Metodo 2: creare un nuovo database backend/tabelle di collegamento
NOTA: questo metodo si applica ai database condivisi e al database con tabelle collegate.
Alcuni utenti hanno segnalato che l'errore "Argomento non valido" si verifica in Access quando si modifica la posizione del database di backend in Access. Questo errore si verifica quando cerca di aggiornare i percorsi dei file utilizzando il Linked Table Manager. Tuttavia, non è possibile modificare la posizione del database con Linked Table Manager. Questo strumento viene utilizzato per gestire e aggiornare i collegamenti tra il database frontend e il database backend. Può quindi ricollegare le tabelle del database per modificare la posizione di archiviazione del database backend. Ecco come funziona:
- Nel database Access in questione, faccia clic su Dati esterni e poi su Gestione tabelle collegate.
- Viene visualizzata la finestra Gestione tabelle collegate. Selezioni il file con le tabelle collegate.
- Clicchi sull'opzione Ricollega.
- Access le chiede di selezionare una nuova posizione di archiviazione per l'origine dati.
- Inserisca la posizione corretta. Può assegnare alle tabelle collegate un nuovo nome o mantenere il nome esistente.
- Poi segua le istruzioni sullo schermo.
Controlli lo stato delle colonne per vedere se le tabelle collegate sono state ricollegate o meno. In caso contrario, clicchi sull'opzione Relink.
Metodo 3: controllare e ridurre le dimensioni del file del database
L'errore "Argomento non valido" in Microsoft Access può verificarsi a causa delle dimensioni del file del database. Questo problema può verificarsi durante l'importazione/esportazione di dati tra Access e altre applicazioni. La dimensione del file di database Access che sta importando non deve superare i 2 GB. Inoltre, i record di dati nel file di database che sta importando non devono superare la dimensione massima dei record di dati, ossia 4000. In tal caso, può dividere il database Access.
Metodo 4: Controllare e compilare il codice VBA
Molti utenti di Access hanno segnalato di ricevere il messaggio di errore "Argomento non valido" durante l'esecuzione della query "Aggiungi", della query "Aggiorna" o della funzione "Importa". L'errore può verificarsi se si utilizzano metodi, funzioni, argomenti e parametri errati nelle query. A volte, un semplice errore di battitura può disturbare l'intera sintassi utilizzata nel codice. Può rivedere e compilare il codice VBA per verificare e risolvere l'errore. Segua questi passaggi:
- Clicchi su Strumenti database nel suo file Access e selezioni Visual Basic.
- Clicchi su Debug nell'editor VBA e selezioni Compila progetto VBA.
Questo evidenzierà la riga con gli errori, che la aiuteranno a risolvere errori di battitura, sintassi e altri problemi di variabili.
Metodo 5: controllare i riferimenti mancanti
A volte il messaggio di errore "Argomento non valido" può verificarsi a causa di una libreria di riferimento mancante in Access. Di solito si verifica quando si eseguono query che si basano sulla libreria mancante. Può controllare e selezionare la libreria di riferimento. Di seguito troverà i passi corrispondenti:
- Nell'Editor VBA di Access, faccia clic su Extra e poi selezioni Riferimenti.
- Nella finestra di dialogo Riferimenti, controlli i riferimenti elencati sotto Riferimenti disponibili e si assicuri che siano tutti selezionati.
- Se un riferimento non è selezionato, lo selezioni e clicchi su OK.
Metodo 6: Comprimere e riparare il database
La corruzione è anche una delle cause dell'errore "Argomento non valido" in Access. Può comprimere e riparare il suo file di database utilizzando lo strumento "Comprimi e ripara" di MS Access. Esegua i seguenti passaggi:
- Per prima cosa si assicuri che il file del database sia chiuso.
- Quindi clicchi sulla pagina Modelli della sua applicazione Access e poi su Database vuoto.
- Clicchi su File e poi selezioni Chiudi.
- Ora clicchi su Strumenti database e poi selezioni Compatta e ripara database.
- Selezioni il file del database interessato nella finestra di dialogo Database da comprimere.
- Clicchi sull'opzione Compatta.
- Troverà il database compresso e riparato nella posizione esatta in cui ha salvato il file del database.
Se il file di database di Access è gravemente danneggiato, lo strumento potrebbe non fornire i risultati desiderati. In questo caso, può utilizzare un affidabile strumento di riparazione Access di terze parti. Stellar Repair for Access è uno di questi strumenti in grado di riparare i file di database Access gravemente danneggiati. Questo strumento può recuperare tutti i dati dal file .accdb/.mdb corrotto, comprese le query, le macro e le tabelle. Può anche verificare tutti i dati riparati prima di salvarli.
Chiusura
MS Access può emettere il messaggio di errore "Argomento non valido" se non riconosce le query nel codice VBA. Questo errore può verificarsi a causa di impostazioni macro errate, codice VBA incompatibile, riferimenti mancanti, ecc. Provi le soluzioni descritte sopra per risolvere l'errore. L'errore può anche verificarsi a causa di query e macro corrotte nel database. In questo caso, può utilizzare Stellar Repair for Access. Questo strumento di riparazione avanzato è in grado di riparare e ripristinare le query danneggiate nel database Access con la massima integrità.