Accedi con Microsoft
Accedi o crea un account.
Salve,
Seleziona un altro account.
Hai più account
Scegli l'account con cui vuoi accedere.

È possibile usare Access come applicazione front-end e quindi creare un collegamento a tabelle in un server back-end, ad esempio SQL Server. Per impostazione predefinita, la maggior parte delle query viene eseguita in locale nel motore di database ace di Access. In alcuni casi, Access può eseguire una query in remoto su SQL Server, a seconda della sintassi SQL e di altri fattori. Per altre informazioni, vedere "Motore di database JET versione 3.0: connettività ODBC" nei white paper jet riscoperti e ODBC.

Spesso, però, si vuole eseguire esplicitamente una query su un server di database. Questa operazione consente di migliorare le prestazioni: i server di database hanno una potenza di elaborazione superiore rispetto a un computer desktop e possono restituire un sottoinsieme di dati più piccolo tramite la connessione di rete. Per eseguire una query in un server di database, usare una query pass-through che è un'istruzione Transact SQL (TSQL) che si connette a SQL Server usando un stringa di connessione ODBC. Ad esempio, è possibile passare un'istruzione SELECT per restituire dati a un foglio dati, una maschera, un report o un controllo elenco, eseguire l'equivalente di istruzioni DML (Data Manipulation Language), chiamare stored procedure ed eseguire attività amministrative (istruzioni DDL, Data Definition Language).

Nota    I risultati di una query pass-through sono di sola lettura. Per modificare direttamente i dati in un foglio dati o in una maschera, creare una tabella collegata a una visualizzazione indicizzata. Per altre informazioni, vedere Creare visualizzazioni indicizzate.

  1. Connettersi a un database server.

    Per altre informazioni sul collegamento a SQL Server, vedere Importare o collegare dati in un database di SQL Server e Collegare o importare dati da un Azure SQL Server Database.

  2. Seleziona Crea > Struttura query.

  3. Se necessario, chiudere la finestra di dialogo Aggiungi tabelle (Mostra tabella in Access 2013.

  4. Selezionare Progettazione >Pass-Through.

    Access nasconde la griglia di struttura della query e visualizza la visualizzazione SQL.

  5. Se la finestra delle proprietà della query non viene visualizzata, premere F4 per visualizzarla.

  6. Nella finestra delle proprietà fare clic sulla casella della proprietà Connessione ODBC Str e quindi eseguire una delle operazioni seguenti:

    Per ottenere un stringa di connessione:

    1. Nel riquadro di spostamento fare clic con il pulsante destro del mouse su una tabella collegata all'origine dati desiderata e selezionare Gestione tabelle collegate.

    2. Nella finestra di dialogo Gestione tabelle collegate selezionare la casella di controllo dell'origine dati e quindi selezionare Modifica.

    3. Nella finestra di dialogo Modifica collegamento copiare il testo nella casella Stringa di connessione .

    1. Seleziona Crea Pulsante Generatore.

    2. Seguire le istruzioni visualizzate per creare un file DSN contenente le informazioni stringa di connessione. Per la procedura dettagliata, vedere Importare o collegare dati in un database di SQL Server e Collegare o importare dati da un database Azure SQL Server.

    Dopo aver creato una connessione a un file DSN, il stringa di connessione ODBC viene archiviato internamente nel database di Access. Ecco un trucco per ottenere una copia della stringa:

    1. Individuare un nome di tabella collegato nel riquadro di spostamento usando la connessione ODBC desiderata.

    2. Premere CTRL+G. per aprire la finestra VBA Immediate.

    3. Immetti: il codice seguente:

      ?CurrentDb.TableDefs("<table name>").Connect

      Sostituire <nome di tabella> il nome della tabella collegata dal passaggio a.

    4. Copiare la stringa restituita nella proprietà ODBC Connect Str .

  7. Immettere la query nella visualizzazione SQL.

    Nota   Esistono importanti differenze tra SQL per Access e SQL Server TSQL, in particolare con la sintassi, i nomi delle funzioni e gli argomenti delle funzioni. Per ulteriori informazioni, vedere Confronto tra SQL per Access e T-SQL per SQL Server.

    Suggerimento Compilare prima la query TSQL in SQL Server Management Studio e quindi copiare e incollare il codice SQL in visualizzazione SQL. In questo modo la query avrà la sintassi corretta. Se non si ha un comodo accesso a un database di SQL Server, è consigliabile installare Microsoft SQL Server Express edition sul desktop, che supporta fino a 10 GB ed è un modo semplice e gratuito per eseguire la migrazione.

  8. È consigliabile impostare altre proprietà correlate:

    • Restituisce record     Alcune istruzioni SQL restituiscono record, ad esempio SELECT, e altre no, ad esempio UPDATE. Se la query restituisce record, impostare questa proprietà su ; se la query non restituisce record, impostare questa proprietà su No.

      Nota    Le query pass-through possono restituire più set di risultati, ma in un foglio dati, una maschera, un report o una variabile recordset viene usato solo il primo set di risultati. Per recuperare più set di risultati, usare una query di creazione tabella come illustrato nell'esempio seguente:

      SELECT <pass-through query name>.*
      INTO <local table name>
      FROM < pass-through query name >

      È necessario usare l'asterisco (*) perché ogni set di risultati può avere colonne diverse. Ogni set di risultati viene salvato in una tabella separata e i numeri vengono aggiunti di conseguenza ai nomi delle tabelle locali. Ad esempio, se vengono restituiti tre set di risultati, i nomi di tabella saranno: <nome di tabella locale>, <nome di tabella locale>1 <nome di tabella locale>2.

    • Registra messaggi    Specificare se restituire i messaggi dal database SQL in una tabella di messaggi di Access. Il nome della tabella ha il formato, nome utente – nn, dove nomeutente è il nome di accesso per l'utente corrente e nn è un numero che inizia da 00.

    • ODBC Timeout    Specificare il numero di secondi di attesa prima che si verifichi un errore di timeout durante l'esecuzione di una query. Il valore predefinito è 60 secondi. Potrebbero verificarsi ritardi a causa del traffico di rete o dell'uso intensivo del server di database.

    • Max Record    Specificare il numero massimo di record da restituire. È possibile che le risorse di sistema siano limitate o che si desideri testare i risultati con solo una piccola quantità di dati.

  9. Dopo aver immesso la query, selezionare Progettazione > Esegui. La query viene inviata al server di database per l'elaborazione.

Vedere anche

Guida di riferimento a Transact-SQL

Esecuzione di query con Transact-SQL

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.

Queste informazioni sono risultate utili?

Come valuti la qualità della lingua?
Cosa ha influito sulla tua esperienza?
Premendo Inviare, il tuo feedback verrà usato per migliorare i prodotti e i servizi Microsoft. L'amministratore IT potrà raccogliere questi dati. Informativa sulla privacy.

Grazie per il feedback!

×