Come faccio a creare un collegamento a un foglio di calcolo esterno Via VBA e Access?

September 28

Come faccio a creare un collegamento a un foglio di calcolo esterno Via VBA e Access?


Quando gli utenti di Excel hanno bisogno di più ampio set di strumenti di database per manipolare i dati dei fogli di calcolo di accesso, possono fare clic sull'icona "Excel" Accesso 'nel pannello "Importa" per duplicare i dati del foglio di calcolo come una nuova tabella di Access. Ma se gli utenti invece vogliono mantenere una sola copia dei dati, possono farlo attraverso la creazione di un collegamento piuttosto che un tavolo separato. Utilizzando VBA per creare questo link allevia gli utenti di accesso di dover creare manualmente, un processo che richiede la selezione delle opzioni. codice VBA sceglierà le opzioni corrette, diminuendo il rischio di possibili errori degli utenti.

istruzione

1 Open Access, quindi immettere l'ambiente di sviluppo integrato di Visual Basic (IDE) premendo il tasto "Alt-F11". Inserire un nuovo modulo di codice selezionando "Modulo" dal menu "Inserisci" del IDE.

2 Incollare il seguente subroutine in qualsiasi parte del nuovo modulo di codice:

Public Sub xstest ()

DoCmd.TransferSpreadsheet acLink, 5, _

"newtable", "<INSERT_COMPLETE_PATH_NAME_TO_EXCEL_SPREADSHEET_FILE>", True, "A1:C4"

End Sub

3 Digitare il testo "<INSERT_COMPLETE_PATH_NAME_TO_EXCEL_SPREADSHEET_FILE>" (senza le virgolette) il percorso completo del foglio di calcolo Excel si vuole accedere al link di collegamento. Inoltre, digitare il testo "A1: C4" la specifica gamma completa, comprese le intestazioni di campo, della tabella nel foglio di calcolo che si desidera che il collegamento per fare riferimento a.

Questa subroutine crea un collegamento dal foglio di calcolo di Excel si specifica in una tabella chiamata "Nuovatabella." L'accesso VBA crea automaticamente questa tabella per visualizzare i dati del collegamento. L'argomento della funzione "acLink" dice a VBA per creare un collegamento dinamico, piuttosto che l'importazione e fare una copia dei dati.

4 Clicca su una qualsiasi delle dichiarazioni del subroutine, quindi premere il tasto "F5" per eseguire la subroutine. Premere il tasto "Alt-F11" per rientrare l'ambiente di accesso standard quindi fare doppio clic sull'icona "NewTable" nel riquadro "tutte le tabelle" alla sinistra dello schermo. Access visualizza i dati della tabella, che sarà la stessa di quella del foglio quando visualizzati in Excel. (Si noti che Microsoft ha disabilitato la funzione che consente l'accesso per modificare i dati del foglio di calcolo.)

5 Premere il tasto "Alt-F11" per rientrare di Visual Basic, quindi apportare le seguenti modifiche alla subroutine "xstest": ". Newtable2" Modificare il testo "acLink" leggere "acImport," e cambiare "nuovatabella" per leggere Questi cambiamenti istruire VBA per creare una nuova tabella di Access che le importazioni, piuttosto che collegamenti a, i dati del foglio di calcolo. Questa azione consentirà agli utenti accesso per modificare i dati del nuovo tavolo (anche se tali modifiche non si rifletteranno nel foglio di calcolo).

6 Eseguire la subroutine come avete fatto al punto 4, quindi premere il tasto "Alt-F8" per tornare ad Access. Fare doppio clic sull'icona "newtable2" nel riquadro a sinistra dello schermo, quindi modificare la nuova tabella in base alle esigenze.