Risoluzione dei riferimenti Visual Basic, Applications Edition in Access

Numero KB originale: 824255

Nota

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

Riepilogo

Questo articolo illustra la sequenza di attività eseguite da Microsoft Office Access 2007, Microsoft Office Access 2003, Microsoft Access 2002, Access 2000 o Access 97 per risolvere i riferimenti in Microsoft Visual Basic, Applications Edition (VBA).

Ulteriori informazioni

Importante

In questa sezione, metodo o attività viene illustrata la procedura per modificare il Registro di sistema. Poiché l'errata modifica del Registro di sistema può causare seri problemi, Di conseguenza, attenersi scrupolosamente alla procedura indicata. Per una maggiore protezione, eseguire il backup del Registro di sistema prima di modificarlo. In questo modo sarà possibile ripristinare il Registro di sistema se si verifica un problema. Per altre informazioni su come eseguire il backup e il ripristino del Registro di sistema, fare clic sul numero dell'articolo della Microsoft Knowledge Base seguente: 322756 Come eseguire il backup e ripristinare il Registro di sistema in Windows

In Access è possibile visualizzare i riferimenti VBA attualmente selezionati usando il Editor di Visual Basic. A tal fine, attenersi alla seguente procedura:

  1. Avviare Access.

  2. Aprire un database di Access.

  3. Premere ALT+F11 per aprire la Editor di Visual Basic.

  4. Nella finestra Editor di Visual Basic fare clic su Riferimenti dal menu Strumenti.

    Nella finestra di dialogo Riferimenti è possibile visualizzare i riferimenti selezionati.

Nota

Quando si seleziona un riferimento, è anche possibile visualizzare le informazioni che corrispondono al file che deve essere caricato per usare il riferimento.

Il file pertinente può essere una libreria dei tipi, una libreria di oggetti o una libreria di controlli. Il file pertinente per ogni riferimento viene caricato in base alle informazioni visualizzate nella finestra di dialogo Riferimenti . Tuttavia, se il file non viene trovato, Access cerca il file in posizioni diverse nel computer.

Per ogni riferimento VBA selezionato, Access esegue le attività seguenti:

  • Access verifica se il file a cui si fa riferimento è già caricato.

  • Access verifica se la chiave del RefLibPaths Registro di sistema esiste se il file a cui si fa riferimento non è attualmente caricato.

    Se la chiave del RefLibPaths Registro di sistema esiste, Access cerca un valore denominato con lo stesso nome del riferimento. Se è presente una corrispondenza, Access carica il riferimento dal percorso indicato nel valore denominato.

    Nota

    È possibile aggiungere manualmente la RefLibPaths chiave del Registro di sistema al Registro di sistema e quindi aggiungere i nomi e i percorsi di tutti i componenti aggiuntivi o di qualsiasi libreria che si trovano nella chiave del RefLibPaths Registro di sistema. A tal fine, attenersi alla seguente procedura:

    1. Fare clic suStart e quindi su Esegui.

    2. Nella casella Apri, digitare regedit e quindi fare clic su OK.

    3. Nella finestra Editor Registro di sistema individuare la chiave del Registro di sistema seguente:

      Access 2007: HKEY_LOCAL_MACHINE\Software\Microsoft\Office\12.0\Access

      Access 2003: HKEY_LOCAL_MACHINE\Software\Microsoft\Office\11.0\Access

      Access 2002: HKEY_LOCAL_MACHINE\Software\Microsoft\Office\10.0\Access

      Access 2000: HKEY_LOCAL_MACHINE\Software\Microsoft\Office\9.0\Access

      Accesso 97: HKEY_LOCAL_MACHINE\Software\Microsoft\Office\8.0\Access

    4. Fare clic con il pulsante destro del mouse sulla chiave del Registro di sistema di accesso , scegliere Nuovo e quindi fare clic su Chiave.

    5. Assegnare alla chiave RefLibPathsappena creata il nome .

    6. Fare clic su RefLibPaths.

    7. Fare clic con il pulsante destro del mouse in un punto qualsiasi del riquadro destro e quindi scegliere Valore stringa.

    8. Denominare il valore String appena creato usando lo stesso nome del riferimento VBA.

    9. Fare clic con il pulsante destro del mouse sul valore String creato nel passaggio 8 e quindi scegliere Modifica.

    10. Nella finestra di dialogo Modifica stringa digitare il percorso del file che deve essere caricato per corrispondere al riferimento in VBA.

      Il nome del valore del Registro di sistema deve essere il nome del file più l'estensione. Il percorso (dati valore) deve essere il percorso più il nome del file. Ad esempio, se si imposta un riferimento al database di esempio Northwind, è possibile aggiungere i valori seguenti:

      • Nome valore: Northwind.mdb
      • Dati valore: C:\Program Files\Microsoft Office\Office11\Samples\Northwind.mdb
    11. Ripetere i passaggi da 7 a 10 per aggiungere i nomi e per aggiungere i percorsi dei componenti aggiuntivi appropriati o delle librerie appropriate come valori String.

    12. Scegliere Esci dal menu File.

  • Access usa l'APISearchPath per cercare il file di riferimento se la chiave del Registro di sistema RefLibPaths non esiste o non contiene un riferimento corretto. Vengono eseguite le ricerche seguenti.

    Area di ricerca Descrizione
    Directory dell'applicazione Posizione della Msaccess.exe.
    Directory corrente Directory visualizzata se si fa clic su Apri dal menu File .
    Directory di sistema La cartella System e la cartella System32 che si trovano nella cartella Windows o nella cartella WINNT.
    Windir Cartella in cui vengono eseguiti i file del sistema operativo. Si tratta in genere della cartella di Windows o della cartella WINNT.
    Variabile di ambiente PATH Questa variabile di sistema contiene un elenco di cartelle direttamente accessibili dal sistema. Microsoft Windows NT 4.0: in Pannello di controllo fare doppio clic su Sistema e quindi fare clic sulla scheda Ambiente. La variabile PATH è nell'elenco Variabili di sistema. Microsoft Windows 2000, Microsoft Windows XP e Microsoft Windows Server 2003: in Pannello di controllo fare doppio clic su Sistema, fare clic sulla scheda Avanzate e quindi su Variabili di ambiente. PATH è incluso nell'elenco Variabili di sistema . Microsoft Windows Vista: in Pannello di controllo aprire l'elemento "Sistema e manutenzione". Fare clic su Sistema, fare clic su Impostazioni di sistema avanzate, fare clic sulla scheda Avanzate e quindi su Variabili di ambiente. PATH è incluso nell'elenco Variabili di sistema
    File Directory Cartella contenente il file .mdb, il file con estensione mde, il file con estensione adp o il file con estensione ade ed eventuali sottocartelle.

Nota

Access non richiede la RefLibPaths chiave del Registro di sistema se il file a cui si vuole fare riferimento si trova in una delle directory indicate nella tabella.

Se access non riesce a trovare il riferimento, viene visualizzato il messaggio di errore seguente quando si compila il progetto o quando si tenta di eseguire una procedura:

Il database o il progetto di Microsoft Office Access contiene un riferimento mancante o interrotto al nome del file.
*Per assicurarsi che il database o il progetto funzioni correttamente, è necessario correggere questo riferimento.

Nota

Mentre il database è aperto, viene visualizzato il messaggio di errore precedente una volta per ogni riferimento interrotto.

Ad esempio, se si apre MyDatabase.mdb e MyDatabase.mdb manca un riferimento al controllo calendario Microsoft e alla libreria DAO Microsoft, vengono visualizzati due messaggi di errore, uno per ogni riferimento mancante. I messaggi di errore non vengono visualizzati di nuovo a meno che non si correggino i riferimenti, si chiude il database e quindi si riapre il database. Se si correggino i riferimenti e quindi si salva il database, non si riceveranno i messaggi di errore alla successiva apertura del database.

Proprietà BrokenReference

L'oggetto Application per Access ha una BrokenReference proprietà che indica se i riferimenti sono interrotti. Per controllare la BrokenReference proprietà, seguire questa procedura:

  1. Avviare Access.

  2. Aprire un database di Access.

  3. Premere ALT+F11 per aprire la Editor di Visual Basic.

  4. Premere CTRL+G per aprire la finestra Immediata.

  5. Nella finestra Immediata digitare il comando seguente e quindi premere INVIO:

    ?Application.BrokenReference

    Si noti che la BrokenReference proprietà per l'oggetto Application restituisce True se mancano riferimenti. In caso contrario, la BrokenReference proprietà restituisce False.

Riferimenti

Per altre informazioni sui riferimenti, fare clic su Guida di Microsoft Visual Basic dal menu ? , digitare Raccolta riferimenti nella casella Cerca nel riquadro Assistenza e quindi fare clic su Avvia ricerca per visualizzare l'argomento.

Per altre informazioni sui riferimenti mancanti, fare clic sul numero dell'articolo della Microsoft Knowledge Base seguente:

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