Le funzioni Visual Basic, Applications Edition (VBA) si interrompono in un database con riferimenti mancanti

Numero KB originale: 283806

Nota

Richiede competenze di base per macro, codifica e interoperabilità. Questo articolo si applica a un database di Microsoft Access (.mdb e accdb) e a un progetto di Microsoft Access (con estensione adp).

Sintomi

Se si dispone di una routine che contiene una funzione Visual Basic, Applications Edition e il database contiene un riferimento a una libreria di oggetti o a una libreria dei tipi mancante, è possibile che venga visualizzato uno dei messaggi di errore seguenti quando si compilano i moduli o si esegue la procedura:

Messaggio di errore 1

Il database o il progetto di Microsoft Access contiene un riferimento mancante o interrotto al <nome> file.
* Per assicurarsi che il database o il progetto funzioni correttamente, è necessario correggere questo riferimento.
* Per informazioni su come correggere questo riferimento, fare clic su Guida.

Messaggio di errore 2

Errore di compilazione:
Non è possibile trovare un progetto o una raccolta

Causa

Il database contiene un riferimento a un database, una libreria dei tipi o una libreria di oggetti contrassegnata come MISSING: <referencename> nella finestra di dialogo Riferimenti.

Risoluzione

Per rimuovere il riferimento mancante, seguire questa procedura:

  1. Aprire il database.
  2. Premere ALT+F11 per aprire la Editor di Visual Basic.
  3. Scegliere Riferimenti dal menu Strumenti.
  4. Fare clic per deselezionare la casella di controllo relativa alla libreria dei tipi o alla libreria di oggetti contrassegnata come MISSING: <referencename>.

Un'alternativa alla rimozione del riferimento consiste nel ripristinare il file di riferimento nel percorso specificato nella finestra di dialogo Riferimenti. Se il file a cui si fa riferimento si trova in un nuovo percorso, deselezionare il riferimento MISSING: <referencename> e quindi creare un nuovo riferimento al file nella nuova cartella.

Nota

In un'applicazione runtime di Access non è possibile visualizzare i riferimenti da un menu. Tuttavia, l'articolo seguente illustra come visualizzare i riferimenti usando il codice: 209849 Come scorrere i riferimenti per visualizzarne le proprietà

Passaggi per riprodurre il comportamento

  1. Aprire il Northwind.mdb di database di esempio.

  2. Creare un nuovo modulo non basato su alcuna tabella o query.

  3. Scegliere Controllo ActiveX dal menu Inserisci.

  4. Nell'elenco Selezionare un controllo ActiveX fare clic su Controllo di modifica immagine Kodak e quindi fare clic su OK.

  5. Salvare il modulo come frmReference e quindi chiuderlo.

  6. Chiudere Northwind.mdb e quindi chiudere Access.

  7. Trovare e rinominare il file ImgEdit.ocx in ImgEdit.old.

  8. Avviare Access e quindi aprire Northwind.mdb.

  9. Aprire il modulo Avvio in visualizzazione Progettazione.

  10. Scegliere Compila Northwind dal menu Debug. Si noti che vengono visualizzati entrambi i messaggi di errore indicati nella sezione "Sintomi" di questo articolo.

  11. Fare clic su OK. Si noti che viene visualizzata la finestra di dialogo Riferimenti; Il riferimento seguente è evidenziato nella finestra di dialogo Riferimenti disponibili :

    MISSING: Kodak Image Edit Control

  12. Fare clic su Annulla nella finestra di dialogo Riferimenti disponibili.

  13. Trovare e rinominare il file ImgEdit.old in ImgEdit.ocx.

  14. Ripetere il passaggio 10 e notare che il messaggio di errore non viene più visualizzato.