Le query di aggiornamento in Access database consentono di aggiungere, modificare o eliminare le informazioni in un record esistente. Le query di aggiornamento possono essere considerate un equivalente estremamente efficace della finestra di dialogo Trova e sostituisci. Non è possibile usare una query di aggiornamento per aggiungere nuovi record a un database o per eliminare record da un database.
Per aggiungere nuovi record o eliminare interi record, utilizzare rispettivamente una query di accodamento e una query di eliminazione.
Contenuto dell'articolo
Panoramica
Di seguito sono elencate le analogie e le differenze tra la finestra di dialogo Trova e sostituisci e una query di aggiornamento:
Analogamente alla finestra di dialogo Trova e sostituisci, una query di aggiornamento consente di specificare il valore da sostituire e il nuovo valore.
Diversamente dalla finestra di dialogo Trova e sostituisci, una query di aggiornamento consente di:
-
Utilizzare criteri che non dipendono dal valore da sostituire.
-
Aggiornare molti record in un unico passaggio.
-
Modificare i record in più tabelle contemporaneamente.
Restrizioni relative ai campi aggiornabili
Non è possibile utilizzare una query di aggiornamento per aggiornare i dati nei tipi di campi seguenti:
-
Campi calcolati I valori nei campi calcolati non risiedono definitivamente nelle tabelle. Esistono solo nella memoria temporanea del computer dopo che Access li calcola. Poiché i campi calcolati non hanno una posizione di archiviazione permanente, non è possibile aggiornarli.
-
Campi restituiti da una query di totalizzazione o da una query a campi incrociati I valori in questi tipi di query sono calcolati e pertanto non possono essere aggiornati tramite una query di aggiornamento.
-
Campi Numerazione automatica Per impostazione predefinita, i valori contenuti nei campi Numerazione automatica vengono modificati solo quando si aggiunge un record a una tabella.
-
Campi in query a valori univoci e in query a record univoci I valori in questi tipi di query sono riepilogati. Alcuni valori rappresentano un singolo record, mentre altri rappresentano più record. L'operazione di aggiornamento non è consentita perché non è possibile determinare i record esclusi come duplicati e di conseguenza non è possibile aggiornare tutti i record necessari. Questa restrizione si applica nei casi in cui si utilizza una query di aggiornamento o si tenta di aggiornare dati manualmente immettendo valori in una maschera o un foglio dati.
-
Campi inclusi in una query di unione Non è possibile aggiornare i dati di campi inclusi in una query di unione perché ogni record presente in due o più origini dati è presente una sola volta nel risultato della query di unione. Poiché alcuni record duplicati vengono rimossi dai risultati, Access non è possibile aggiornare tutti i record necessari.
-
Campi che sono chiavi primarie In alcuni casi, ad esempio se il campo chiave primaria viene utilizzato in una relazione della tabella, non è possibile aggiornare il campo tramite una query a meno che non si imposta prima la relazione in modo da eseguire automaticamente gli aggiornamenti a catena.
Nota: Quando si esegue l'aggiornamento a catena, Access aggiorna automaticamente i valori di chiave esterna quando si modifica un valore di chiave primaria in una tabella padre.
Utilizzo di una query di aggiornamento
Come procedura consigliata, durante la creazione di una query di aggiornamento è in primo luogo necessario creare una query di selezione che identifichi i record da aggiornare. Selezionando prima di tutto i dati, è possibile verificare di aggiornare i record desiderati prima di modificare effettivamente i dati.
Suggerimento: Prima di eseguire una query di aggiornamento, eseguire un backup del database. Poiché non è possibile annullare i risultati di una query di aggiornamento, l'esecuzione di un backup garantisce la possibilità di ripristinare i dati in seguito alle modifiche se si decide di annullarle.
Come eseguire il backup del database
-
Fare clic sulla scheda File e quindi scegliere Salva con nome.
-
A destra, in Avanzate, selezionare Backup database.
-
Nella finestra di dialogo Salva backup con nome specificare un nome e un percorso per la copia di backup e quindi scegliere Salva.
Access chiude il file originale, crea un backup e quindi riapre il file originale.
Per tornare alla copia di backup, chiudere e rinominare il file originale, in modo che per la copia di backup sia possibile utilizzare il nome della versione originale. Assegnare il nome della versione originale alla copia di backup e quindi aprire la copia di backup rinominata in Access.
Contenuto della sezione
Passaggio 1: Creare una query di selezione per identificare i record da aggiornare
-
Aprire il database contenente i record che si desidera aggiornare.
-
Nel gruppo Query della scheda Crea scegliere Struttura query.
-
Selezionare la scheda Tabelle .
-
Selezionare la tabella o le tabelle che contengono i record da aggiornare, selezionare Aggiungi e quindi scegliere Chiudi.
Ogni tabella verrà visualizzata in una finestra in Progettazione query contenente tutti i campi della tabella. Nella figura viene illustrata una normale tabella in Progettazione query.
1. Tabella visualizzata in Progettazione query
2. Griglia di struttura della query
-
Fare doppio clic sui campi che si desidera aggiornare nelle finestre della tabella. I campi aggiornati verranno visualizzati nella riga Campo nella griglia di struttura della query.
È possibile aggiungere un campo di tabella per ogni colonna nella griglia di struttura della query.
Per aggiungere tutti i campi di una tabella rapidamente, fare doppio clic sull'asterisco (*) nella parte superiore dell'elenco dei campi di tabella nella finestra della tabella. Nella figura viene illustrata la griglia di struttura della query con tutti i campi aggiunti.
-
Per limitare i risultati della query in base ai valori dei campi, nella riga Criteri della griglia di struttura della query immettere i criteri che si desidera utilizzare.
Tabella di criteri di esempio
Nella tabella seguente sono inclusi alcuni criteri di esempio, di cui viene inoltre descritto l'effetto sui risultati di una query.
Nota: Per molti degli esempi inclusi nella tabella vengono utilizzati caratteri jolly per rendere la query più flessibile ed efficace.
Criterio
Effetto
>234
Restituisce tutti i numeri maggiori di 234. Per trovare tutti i numeri minori di 234, utilizzare < 234.
>= "Giussani"
Restituisce tutti i record da Giussani alla fine dell'alfabeto.
Between #2/2/2020# And #1/12/2020#
Restituisce le date dal 2 febbraio 17 all'1 dicembre 17 (ANSI-89). Se nel database vengono usati caratteri jolly ANSI-92, usare le virgolette singole (') al posto dei cancelletto (#). Esempio: Between '2/2/2020' and '12/1/2020'.
Not "Germania"
Trova tutti i record in cui il contenuto esatto del campo non corrisponde esattamente a "Germania". Il criterio restituirà i record contenenti altri caratteri oltre a "Germania", ad esempio "Germania (euro)" o "Europa (Germania)".
Not "T*
Trova tutti i record ad eccezione di quelli che iniziano con T. Se nel database viene utilizzato il set di caratteri jolly ANSI-92, utilizzare il simbolo di percentuale (%) al posto dell'asterisco (*).
Not "*t"
Trova tutti i record che non terminano con t. Se nel database viene utilizzato il set di caratteri jolly ANSI-92, utilizzare il simbolo di percentuale (%) al posto dell'asterisco (*).
In(Canada,Italia)
In un elenco trova tutti i record che contengono Canada o Italia.
LIKE "[A-D]*"
In un campo di testo trova tutti i record che iniziano con lettere da A a D. Se nel database viene utilizzato il set di caratteri jolly ANSI-92, utilizzare il simbolo di percentuale (%) al posto dell'asterisco (*).
Like "*ar*"
Trova tutti i record che includono la sequenza di lettere "ar". Se nel database viene utilizzato il set di caratteri jolly ANSI-92, utilizzare il simbolo di percentuale (%) al posto dell'asterisco (*).
Like "Villa Dewe?"
Trova tutti i record che iniziano con "Villa" e contengono una seconda stringa di cinque lettere in cui le prime quattro lettere sono "Dewe" e l'ultima lettera è sconosciuta. Se nel database viene utilizzato il set di caratteri jolly ANSI-92, utilizzare il carattere di sottolineatura (_) al posto del punto interrogativo (?).
#2/2/2020#
Trova tutti i record relativi al 2 febbraio 2020. Se nel database viene utilizzato il set di caratteri jolly ANSI-92, racchiudere la data tra virgolette singole (') anziché cancelletto (#); ad esempio ('2/2/2020').
< Date( ) - 30
Utilizza la funzione Date per restituire tutte le date passate da oltre 30 giorni.
Date( )
Utilizza la funzione Date per restituire tutti i record contenenti la data corrente.
Between Date( ) And DateAdd("M", 3, Date( ))
Utilizza le funzioni Date e DateAdd per restituire tutti i record compresi tra la data corrente e tre mesi dalla data corrente.
Is Null
Restituisce tutti i record contenenti un valore Null, ovvero vuoto o non definito.
Is Not Null
Restituisce tutti i record che contengono un valore.
""
Restituisce tutti i record che contengono una stringa di lunghezza zero. Le stringhe di lunghezza zero vengono utilizzate quando è necessario aggiungere un valore a un campo obbligatorio, ma non si conosce ancora il valore. In un campo, ad esempio, potrebbe essere necessario aggiungere un numero di fax, ma alcuni clienti potrebbero non disporre di apparecchi fax. In questo caso, immettere una coppia di virgolette doppie senza spazi inclusi ("") al posto del numero di fax.
-
Nel gruppo Risultati della scheda Struttura query scegliere Esegui.
-
Verificare che la query restituisca i record che si desidera aggiornare.
-
Per rimuovere eventuali campi che non si desidera includere nella struttura della query, selezionare i campi e quindi premere CANC.
-
Per aggiungere eventuali campi da includere nella struttura della query, trascinare altri campi nella griglia di struttura della query.
Passaggio 2: Aggiornare i record
-
Nel gruppo Tipo di query della scheda Struttura query selezionare Aggiorna.
In questa procedura viene illustrata la modifica di una query di selezione in una query di aggiornamento. Quando si esegue questa operazione, Access aggiunge la riga Aggiorna a nella griglia di struttura della query. Nella figura seguente viene illustrata una query di aggiornamento che restituisce tutti i beni acquistati dopo il 5 gennaio 2005 e le modifiche apportate alla posizione "Magazzino 3" per tutti i record che soddisfano il criterio.
-
Individuare il campo contenente i dati che si desidera modificare e quindi digitare l'espressione, ovvero i criteri di modifica, nella riga Aggiorna a per il campo.
Nella riga Aggiorna a è possibile utilizzare qualsiasi espressione valida.
Tabella di espressioni di esempio
Nella tabella seguente vengono illustrate alcune espressioni e ne viene descritto il funzionamento.
Espressione
Risultato
"Venditore"
In un campo Testo breve modifica un valore di testo in Agente di vendita.
#8/10/20#
In un campo Data/ora modifica un valore di data in 10-ago-20.
Sì
In un campo di tipo Sì/No modifica un valore No in Sì.
"NP" & [NumeroParte]
Aggiunge "NP" all'inizio di ogni numero parte specificato.
[PrezzoUnitario] * [Quantità]
Moltiplica i valori contenuti nei campi denominati PrezzoUnitario e Quantità.
[Spese Trasporto] * 1,5
Aumenta del 50% il valore di un campo denominato Spese trasporto.
DSum("[Quantità] * [PrezzoUnitario]", "Dettagli ordine", "[IDProdotto]=" & [IDProdotto])
Nei casi in cui i valori IDProdotto inclusi nella tabella corrente corrispondono ai valori prodotto inclusi nella tabella Dettagli ordini, l'espressione aggiorna le vendite totali moltiplicando i valori di un campo denominato Quantità per i valori di un campo denominato PrezzoUnitario. L'espressione utilizza la funzione DSum in quanto può operare su più tabelle e campi di tabella.
Right([CAPDestinatario]; 5)
Tronca (rimuove) i caratteri più a sinistra in una stringa di testo o numerica, lasciando i cinque caratteri più a destra.
IIf(IsNull([PrezzoUnitario]); 0; [PrezzoUnitario])
Modifica un valore Null (sconosciuto o indefinito) in valore uguale a zero (0) in un campo denominato PrezzoUnitario.
-
Nel gruppo Risultati della scheda Struttura query selezionare Esegui.
Verrà visualizzato un messaggio di avviso.
-
Per eseguire la query e aggiornare i dati, scegliere Sì.
Nota: Quando si esegue la query, alcuni campi potrebbero risultare mancanti dal set di risultati. Se la query contiene campi non aggiornati, per impostazione predefinita Access non li visualizza nei risultati. È ad esempio possibile includere campi ID di due tabelle per garantire che la query identifichi e aggiorni i record corretti. Se questi campi ID non vengono aggiornati, Access non li visualizza nei risultati.
Aggiornare dati da una tabella a un'altra
Quando è necessario aggiornare dati da una tabella a un'altra, tenere presente la regola in base alla quale i tipi di dati per i campi di origine e di destinazione devono corrispondere o essere compatibili.
Inoltre, quando si aggiornano i dati da una tabella a un'altra e si usano tipi di dati compatibili anziché corrispondenti, Access converte i tipi di dati di tali campi nella tabella di destinazione. Di conseguenza, alcuni dei dati contenuti nei campi di destinazione potrebbero risultare troncati, ovvero eliminati. Nella sezione Limitazioni per la conversione dei tipi di dati vengono descritti i diversi modi in cui è o non è possibile convertire i tipi di dati. Nella tabella vengono inoltre indicati i casi in cui la conversione di un tipo di dati può comportare la modifica o l'eliminazione di alcuni o tutti i dati inclusi in un campo, con informazioni sui dati che possono essere eliminati.
Il processo di aggiornamento dei dati da una tabella a un'altra è costituito dai passaggi generali seguenti:
-
Creare una query di aggiornamento e aggiungere le tabelle di origine e di destinazione alla query.
-
Unire in join tali tabelle nei campi contenenti le informazioni correlate.
-
Aggiungere i nomi dei campi di destinazione alla riga Campo della griglia di struttura della query.
-
Aggiungere i nomi dei campi di origine alla riga Aggiorna a della griglia di struttura della query utilizzando la sintassi [tabella_origine].[campo_origine].
I passaggi di questa sezione presuppongono l'uso di due tabelle simili. In questo esempio la tabella Clienti si trova in un database appena ereditato e contiene dati più recenti rispetto alla tabella Clienti. Puoi vedere che alcuni nomi e indirizzi dei responsabili sono stati modificati. Per questo motivo, si decide di aggiornare la tabella Clienti con i dati della tabella Clienti.
Tabella Acquirenti
|
ID acquirente |
Nome |
Indirizzo |
Città |
Provincia |
CAP |
Paese/area geografica |
Telefono |
Contatto |
|---|---|---|---|---|---|---|---|---|
|
1 |
Baldwin Museum of Science |
Piazza Martedì 28 |
Milano |
MI |
12345 |
Italia |
45 67 89 01 |
Davide Ruspini |
|
2 |
Blue Yonder Airlines |
Via Giovedì 47 |
Bologna |
BO |
23456 |
Italia |
12 12 34 56 |
Agostino Martino |
|
3 |
Coho Winery |
3122 75a Ave. S.W. |
Milano |
FI |
34567 |
Italia |
12 23 45 67 |
Guido Pica |
|
4 |
Contoso Pharmaceuticals |
Corso Venerdì 68 |
Bologna |
BO |
NS1 EW2 |
Italia |
12 34 56 78 |
Barbara Zighetti |
|
5 |
Fourth Coffee |
Via Domenica 25 |
Modena |
56789 |
Italia |
12 45 67 89 |
Massimiliano Monaco |
|
|
6 |
Consolidated Messenger |
Via Mercoledì 8 |
Firenze |
FI |
34567 |
Italia |
12 34 56 78 |
Eva Valverde |
|
7 |
Graphic Design Institute |
1587 Office Pkwy |
Parma |
PR |
87654 |
Italia |
67 89 01 23 |
Roberto Tamburello |
|
8 |
Litware S.p.A. |
3 Microsoft Way |
Piacenza |
PC |
31415 |
Italia |
12 34 56 78 |
Marco Tanara |
|
9 |
Tailspin Toys |
4 Microsoft Way |
Piacenza |
PC |
31415 |
Italia |
90 12 34 56 |
Elisabetta Scotti |
Tabella Clienti
|
ID cliente |
Nome |
Indirizzo |
Città |
Provincia |
CAP |
Paese |
Telefono |
Responsabile |
|---|---|---|---|---|---|---|---|---|
|
1 |
Baldwin Museum of Science |
Piazza Martedì 28 |
Milano |
MI |
12345 |
Italia |
45 67 89 01 |
Davide Garghentini |
|
2 |
Blue Yonder Airlines |
Via Giovedì 47 |
Bologna |
BO |
23456 |
Italia |
12 12 34 56 |
Agostino Martino |
|
3 |
Coho Winery |
3122 75a Ave. S.W. |
Milano |
FI |
34567 |
Italia |
12 23 45 67 |
Guido Pica |
|
4 |
Contoso Pharmaceuticals |
Corso Venerdì 68 |
Bologna |
BO |
NS1 EW2 |
Italia |
12 34 56 78 |
Barbara Zighetti |
|
5 |
Fourth Coffee |
Corso Domenica 134 |
Modena |
56789 |
Italia |
12 45 67 89 |
Massimiliano Monaco |
|
|
6 |
Consolidated Messenger |
Via Mercoledì 8 |
Firenze |
FI |
34567 |
Italia |
12 34 56 78 |
Daniela Guaita |
|
7 |
Graphic Design Institute |
Piazza Venerdì 72 |
Parma |
PR |
87654 |
Italia |
67 89 01 23 |
Adriana Giorgi |
|
8 |
Litware S.p.A. |
3 Microsoft Way |
Piacenza |
PC |
31415 |
Italia |
12 12 34 56 |
Fernando Caro |
|
9 |
Tailspin Toys |
4 Microsoft Way |
Piacenza |
PC |
31415 |
Italia |
90 12 34 56 |
Elisabetta Scotti |
Ricordare che, benché i tipi di dati per ogni campo di tabella non devono corrispondere, devono tuttavia essere compatibili. Access deve essere in grado di convertire i dati della tabella di origine in un tipo utilizzabile dalla tabella di destinazione. In alcuni casi, il processo di conversione può provocare l'eliminazione di alcuni dati. Per ulteriori informazioni sulle limitazioni per la conversione dei tipi di dati, vedere la sezione Limitazioni per la conversione dei tipi di dati.
Creare ed eseguire la query di aggiornamento
Nota: Nelle procedure seguenti si presuppone l'utilizzo delle due tabelle di esempio precedenti. È possibile modificare i passaggi per adattarli ai propri dati.
-
Nel gruppo Query della scheda Crea scegliere Struttura query.
-
Selezionare Aggiungi tabelle.
-
Fare doppio clic sulle tabelle di origine e di destinazione per aggiungerle alla query. Ogni tabella verrà visualizzata in una finestra in Progettazione query.
-
Nella maggior parte dei casi, Access esegue automaticamente il join dei campi correlati in una query. Per unire manualmente in join i campi contenenti le informazioni correlate, trascinare i campi correlati da una tabella e rilasciarli nel campo equivalente dell'altra tabella.
Se ad esempio si utilizzano le tabelle di esempio visualizzate in precedenza, trascinare il campo ID acquirente nel campo ID cliente. Access crea una relazione tra questi campi nelle due tabelle e usa tale relazione per unire in join tutti i record correlati.
-
Nel gruppo Tipo di query della scheda Struttura query selezionare Aggiorna.
-
Nella tabella di destinazione fare doppio clic sui campi che si desidera aggiornare. Ogni campo verrà visualizzato nella riga Campo nella griglia di struttura della query.
Se si utilizzano le tabelle di esempio, aggiungere tutti i campi ad eccezione del campo ID cliente. Si noti che il nome della tabella di destinazione viene visualizzato nella riga Tabella della griglia di struttura.
-
Nella riga Aggiorna a della query, in ognuna delle colonne contenenti un campo di destinazione, aggiungere il nome della tabella di origine e il relativo campo corrispondente al campo della tabella di destinazione, verificando di utilizzare la sintassi [Tabella].[Campo], in cui i nomi di tabella e di campo sono racchiusi tra parentesi quadre e separati da un punto.
Nella figura viene illustrata parte della griglia di struttura, in cui vengono utilizzate le tabelle di esempio. Notare la sintassi utilizzata per i nomi di tabella e di campo nella riga Aggiorna a.
Ricordare che è necessario verificare la corretta ortografia dei nomi di tabella e di campo nella riga Aggiorna a e che la punteggiatura della tabella originale e dei nomi di campo deve corrispondere. Non è necessario, tuttavia, che le maiuscole e le minuscole corrispondano.
-
Nel gruppo Risultati della scheda Struttura query selezionare Esegui.
-
Quando viene chiesto di confermare l'aggiornamento, scegli Sì.
Limitazioni per la conversione dei tipi di dati
La tabella seguente elenca i tipi di dati forniti da Access, illustra le eventuali restrizioni sulla conversione dei tipi di dati e descrive brevemente eventuali perdite di dati che potrebbero verificarsi durante la conversione.
|
Tipo di dati convertito |
Tipo di dati da convertire |
Modifiche o limitazioni |
|---|---|---|
|
Testo breve |
Testo lungo |
Access elimina tutti i primi 255 caratteri tranne i primi 255. |
|
Numerico |
Nessuna limitazione. |
|
|
Data/ora |
Nessuna limitazione. |
|
|
Valuta |
Nessuna limitazione. |
|
|
Contatore |
Nessuna limitazione. |
|
|
Sì/No |
Il valore -1 (Sì in un campo di tipo Sì/No) viene convertito in Sì. Il valore 0 (No in un campo di tipo Sì/No) viene convertito in No. |
|
|
Collegamento ipertestuale |
Access tronca i collegamenti composti da più di 255 caratteri. |
|
|
Testo lungo |
Testo breve |
Nessuna limitazione. |
|
Numerico |
Nessuna limitazione. |
|
|
Data/ora |
Nessuna limitazione. |
|
|
Valuta |
Nessuna limitazione. |
|
|
Contatore |
Nessuna limitazione. |
|
|
Sì/No |
Il valore -1 (Sì in un campo di tipo Sì/No) viene convertito in Sì. Il valore 0 (No in un campo di tipo Sì/No) viene convertito in No. |
|
|
Collegamento ipertestuale |
Nessuna limitazione. |
|
|
Numerico |
Testo breve |
Il testo deve essere costituito da numeri, valute valide e da separatori decimali. Il numero di caratteri inclusi nel campo di tipo Testo deve essere minore o uguale alle dimensioni impostate per il campo di tipo Numerico. |
|
Testo lungo |
Il campo Testo lungo deve contenere solo testo e valute valide e separatori decimali. Il numero di caratteri nel campo Testo lungo deve rientrare nelle dimensioni impostate per il campo Numerico. |
|
|
Numerico, ma con precisione o dimensioni del campo diverse |
I valori non devono essere maggiori o minori rispetto a ciò che le dimensioni del nuovo campo consentono di memorizzare. La modifica della precisione può causare l'arrotondamento di alcuni valori da parte di Access. |
|
|
Data/ora |
Le date che è possibile convertire dipendono dalle dimensioni del campo numerico. Tenere presente che Access archivia tutte le date come date seriali e i valori di data vengono memorizzati come numeri interi mobili a precisione doppia. Access usa la data 30 dicembre 1899 come data 0. Le date esterne all'intervallo compreso tra il 18 aprile 1899 e l'11 settembre 1900 superano le dimensioni di un campo di tipo Byte. Le date esterne all'intervallo compreso tra il 13 aprile 1810 e il 16 settembre 1989 superano le dimensioni di un campo di tipo Integer. Per adattare tutte le date possibili, impostare la proprietà Dimensioni campo del campo di tipo Numero su Intero lungo o su un valore maggiore. |
|
|
Valuta |
I valori non devono essere maggiori (o minori) delle dimensioni limite impostate per il campo. È possibile, ad esempio, convertire un campo di tipo Valuta in un campo di tipo Integer solo quando i valori sono maggiori di 255 e non superano 32.767. |
|
|
Contatore |
I valori devono rispettare le dimensioni limite impostate per il campo. |
|
|
Sì/No |
I valori "Sì" vengono convertiti in -1. I valori "No" vengono convertiti in 0. |
|
|
Data/ora |
Testo breve |
Il testo originale deve essere una combinazione di data o ora riconoscibile. Ad esempio, 18-gen-2020. |
|
Testo lungo |
Il testo originale deve essere una combinazione di data o ora riconoscibile. Ad esempio, 18-gen-2020. |
|
|
Numero |
Il valore deve essere compreso tra -657.434 e 2.958.465,99998843. |
|
|
Valuta |
Il valore deve essere compreso tra € -657.434 e € 2.958.465,9999. |
|
|
Contatore |
Il valore deve essere maggiore di -657.434 e minore di 2.958.466. |
|
|
Sì/No |
Il valore -1 (Sì) viene convertito in 29 dicembre 1899. Il valore 0 (No) viene convertito in mezzanotte (00.00). |
|
|
Valuta |
Testo breve |
Il testo deve essere costituito da numeri e separatori validi. |
|
Testo lungo |
Il testo deve essere costituito da numeri e separatori validi. |
|
|
Numerico |
Nessuna limitazione. |
|
|
Data/ora |
Nessuna limitazione, ma Access potrebbe arrotondare il valore |
|
|
Contatore |
Nessuna limitazione. |
|
|
Sì/No |
Il valore -1 (Sì) viene convertito in € 1. Il valore 0 (No) viene convertito in € 0. |
|
|
Contatore |
Testo breve |
Non consentito se il campo di tipo Contatore funge da chiave primaria. |
|
Testo lungo |
Non consentito se il campo di tipo Contatore funge da chiave primaria. |
|
|
Numerico |
Non consentito se il campo di tipo Contatore funge da chiave primaria. |
|
|
Data/ora |
Non consentito se il campo di tipo Contatore funge da chiave primaria. |
|
|
Valuta |
Non consentito se il campo di tipo Contatore funge da chiave primaria. |
|
|
Sì/No |
Non consentito se il campo di tipo Contatore funge da chiave primaria. |
|
|
Sì/No |
Testo breve |
Il testo originale deve essere costituito solo da valori Sì, No, True, False, On o Off. |
|
Testo lungo |
Il testo originale deve essere costituito solo da valori Sì, No, True, False, On o Off. |
|
|
Numerico |
Zero o Null viene convertito in No, tutti gli altri valori vengono convertiti in Sì. |
|
|
Data/ora |
Null o 00.00 viene convertito in No, tutti gli altri valori vengono convertiti in Sì. |
|
|
Valuta |
Zero o Null viene convertito in No, tutti gli altri valori vengono convertiti in Sì. |
|
|
Contatore |
Tutti i valori vengono convertiti in Sì. |
|
|
Collegamento ipertestuale |
Testo breve |
Se il testo originale contiene un indirizzo Web valido, ad esempio adatum.com, www.adatum.com o http://www.adatum.com , Access converte il testo in un collegamento ipertestuale. Access prova a convertire altri valori, ovvero il testo sottolineato e il cursore cambia quando si posiziona il puntatore del mouse sul collegamento, ma i collegamenti non funzionano. Il testo può contenere qualsiasi protocollo Web valido, ad esempio http://, gopher://, telnet://, ftp:// e wais://. |
|
Testo lungo |
Vedere la voce precedente. Si applicano le stesse limitazioni. |
|
|
Numero |
Non consentito quando un campo di tipo Numerico fa parte di una relazione. Se il valore originale ha il formato di un indirizzo IP (Internet Protocol) valido, ovvero è costituito da quattro gruppi di tre numeri separati da un punto, come nnn.nnn.nnn.nnn, e i numeri coincidono con un indirizzo Web, la conversione dà come risultato un collegamento valido. In caso contrario, Access aggiunge http:// all'inizio di ogni valore e i collegamenti risultanti non sono validi. |
|
|
Data/Ora |
Access aggiunge http:// all'inizio di ogni indirizzo, ma i collegamenti risultanti non funzioneranno quasi mai. |
|
|
Valuta |
Access aggiunge http:// all'inizio di ogni valore, ma come per le date, i collegamenti risultanti non funzioneranno quasi mai. |
|
|
Numerazione automatica |
Non consentito quando il campo di tipo Contatore fa parte di una relazione. Access aggiunge http:// all'inizio di ogni valore, ma i collegamenti risultanti non funzioneranno quasi mai. |
|
|
Sì/No |
Access converte tutti i valori Sì in -1 e tutti i valori No in 0 e aggiunge http:// all'inizio di ogni valore. I collegamenti risultanti non sono validi. |
Impedire il blocco di una query da parte della modalità di disattivazione
Se si tenta di eseguire una query di comando e sembra che non si verifichi nulla, verificare se sulla barra di stato Access viene visualizzato il messaggio seguente:
Azione o evento bloccato dalla modalità di disattivazione.
Per impostazione predefinita, Access disabilita tutte le query di comando, ovvero le query di aggiornamento, accodamento, eliminazione o creazione tabella, a meno che il database non si trova in un percorso attendibile o non sia firmato e attendibile. Se non è stata eseguita alcuna di queste operazioni, è comunque possibile attivare la query per la sessione del database corrente facendo clic su Attiva contenuto sulla barra dei messaggi.
Versione SQL: istruzione UPDATE
Se si preferisce lavorare con SQL, è inoltre possibile scrivere un'istruzione UPDATE utilizzando la visualizzazione SQL. Per utilizzare tale visualizzazione, creare una nuova query vuota e quindi passare alla visualizzazione SQL.
In questa sezione è illustrata la sintassi relativa e un esempio di istruzione UPDATE.
Sintassi
UPDATE tabella SET nuovovalore WHERE criteri;
L'istruzione UPDATE è composta dalle parti seguenti:
|
Parte |
Descrizione |
|---|---|
|
tabella |
Nome della tabella contenente i dati da modificare. |
|
nuovovalore |
Espressione che determina il valore da inserire in un determinato campo dei record aggiornati. |
|
criteri |
Un'espressione che determina i record da aggiornare. Vengono aggiornati solo i record che soddisfano l'espressione. |
Osservazioni
L'istruzione UPDATE è particolarmente utile quando si desidera modificare numerosi record o quando i record da modificare sono inclusi in più tabelle.
È possibile modificare più campi contemporaneamente. Nell'esempio seguente i valori della tabella Importo ordini vengono aumentati del 10 percento, mentre quelli della tabella Trasporto vengono aumentati del 3 percento in relazione alle spedizioni al Regno Unito:
UPDATE Orders
SET OrderAmount = OrderAmount * 1.1,
Freight = Freight * 1.03
WHERE ShipCountry = 'UK';