DetailPage-MSS-KB

Microsoft Knowledge Base

Identificativo articolo: 304458 - Ultima modifica: martedì 27 marzo 2007 - Revisione: 6.0

 
Moderato: Impone la macro di base, codifica e le competenze di interoperabilità.

Questo articolo riguarda solo a un database di Microsoft Access (con estensione accdb e MDB). Per la una versione di Microsoft Access 2000 di questo articolo, vedere 209143  (http://support.microsoft.com/kb/209143/EN-US/ ) .
Per la una versione di Microsoft Access 97 di questo articolo, vedere 109939  (http://support.microsoft.com/kb/109939/ ) .

Sommario

In una query a campi incrociati di Microsoft Access, è possibile specificare solo un campo o di calcolo come valore. È possibile che da visualizzare più di un valore nella query.

Nell'esempio seguente viene l'illustrato di due colonne di informazioni per ogni società, un conteggio del numero di ordini, e l'ordine di totali per ogni anno:
   Company Name  1998 Orders  1998 Total  1999 Orders  1999 Total
   --------------------------------------------------------------
   ABC Company   12           $855.00     15           $1010.25
   XYZ Company   1017         $22045.57   1050         $25345.29
				
questo tipo di query a volte è è a denominata un campo di valori più query.

Informazioni

Per creare una query a campi incrociati di campo di valori multipli, è necessario creare query a campi incrociati separato per ogni valore che si desidera calcolare. Per unire le query a campi incrociati per visualizzare i risultati che si desidera, è quindi possibile utilizzare una query di selezione.

Nell'esempio seguente utilizza il database di esempio Northwind.mdb per creare una query che Visualizza risultati simili all'esempio nella sezione "Sommario" di questo articolo. Mostra il numero di vendite e totale per ogni anno per ogni società.
  1. Aprire il database di esempio Northwind.mdb e quindi creare la seguente query a campi incrociati basata su ordini, Dettagli ordini e le tabelle di clienti:
       Query: Order Total
       ------------------
       Type: Crosstab Query
       Join: Customers.[CustomerID] <-> Orders.[CustomerID]
       Join: Orders.[OrderID] <-> Order Details.[OrderID]
    
       Field: CompanyName
          Table Name: Customers
          Total: Group By
          Crosstab: Row Heading
    
       Field: Expr1: Year([OrderDate]) & " " & "Order Total"
          Table Name:
          Total: Group By
          Crosstab: Column Heading
    
      Field: Expr2: Sum(CCur([UnitPrice]*[Quantity]*(1-[Discount])))
          Table Name:
          Total: Expression
          Crosstab: Value
    					
  2. Salvare questa query come ordine totale .
  3. Creare la seguente query a campi incrociati basato su ordini e le tabelle clienti:
       Query: Order Count
       ------------------
       Type: Crosstab Query
       Join: Customers.[CustomerID] <-> Orders.[CustomerID]
    
       Field: CompanyName
          Table Name: Customers
          Total:      Group By
          Crosstab:   Row Heading
    
       Field: Expr1: Year([OrderDate]) & " " & "Order Count"
          Table Name:
          Total: Group By
          Crosstab: Column Heading
    
    
       Field: OrderID
          Table Name: Orders
          Total:      Count
          Crosstab:   Value
    					
  4. Salvare questa query come Numero ordini .
  5. Creare una query che si basa il totale di ordini e le query a campi incrociati Numero ordini. Utilizzare CompanyName, il totale di ordini e i campi Numero ordini per gli anni i cui risultati si desidera visualizzare. Nell'esempio viene utilizzata l'ultimi due anni di totale ordini e numero ordini in Microsoft Access.
       Query: Multiple Values
       ----------------------
       Join: Order Total.[CompanyName] <-> Order Count.[CompanyName]
    
       Field: CompanyName
          Table Name: Order Count
    
       Field: 1997 Order Count
          Table Name: Order Count
    
       Field: 1997 Order Total
          Table Name: Order Total
    
       Field: 1998 Order Count
          Table Name: Order Count
    
       Field: 1998 Order Total
          Table Name: Order Total
    					
  6. Quando si esegue la query più valori, verrà visualizzata una tabella simile alla seguente tabella:
                             1997 Order  1997 Order  1998 Order  1998 Order
       Company Name            Count       Total       Count       Total
       --------------------------------------------------------------------
       Alfred's Futterkiste        3      $2,022.50        3      $2,022.50
       Ana Trujillo                2        $799.75        1        $514.10
       Antonio Moreno              5      $5,960.78        1        $660.00
    					
    Nota : se il campo specificato per la concatenazione è un campo in più di una delle tabelle che fa parte della query, È necessario aggiungere il nome della tabella all'espressione. Ad esempio, nel passaggio 1 cambiare:
       Year([OrderDate]) & " " & "Order Total"
    					
    per:
       Year([Orders].[OrderDate]) & " " & "Order Total"
    					
    se si aggiunge il nome della tabella alla riga della tabella , si genera un errore di sintassi. Se si lascia il nome della tabella completamente, è possibile generare un errore di riferimento ambiguo.

Riferimenti

Per ulteriori informazioni sulle query a campi incrociati, scegliere Guida in linea di Access dal menu Guida digitare query a campi incrociati nella casella dell'Assistente di Office o nella ricerca libera e scegliere il pulsante Cerca per visualizzare gli argomenti restituiti.

Le informazioni in questo articolo si applicano a:
  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
Chiavi: 
kbmt kbquery kbhowto KB304458 KbMtit
Traduzione automatica articoliTraduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell’utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell’utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell’articolo: 304458  (http://support.microsoft.com/kb/304458/en-us/ )
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.
Condividi
Altre opzioni per il supporto
Forum del supporto di Microsoft Community
Contattaci direttamente
Ricerca di un partner certificato Microsoft
Microsoft Store