Prof. Sandro Scirocco

Classe V sez. A informatica a.s. 2021/2022

 

Microsoft Access  è un Relational Data Base Management System (cioè un DBMS per database relazionali) realizzato da Microsoft; è incluso nel pacchetto Microsoft Office ed unisce il motore Microsoft Jet Data Base Engine con un’interfaccia grafica.

La struttura di memorizzazione dei dati segue il modello relazionale: i dati sono immagazzinati in tabelle composte da un numero elevato di record (righe) ed ogni record contiene i dati distinti per campi; le tabelle possono essere unite tra di loro attraverso relazioni.

A differenza di altri ambienti di sviluppo, in Access un unico file, che nella versione 2007 ha estensione accdb,comprende tutti gli elementi utilizzabili per lo sviluppo di applicazioni complete: tabelle, query, maschere, report, macro, pagine e moduli.

  • Le tabelle sono i contenitori dove vengono memorizzati i
  • Le query sono gli strumenti idonei all'interrogazione ed alla manipolazione dei
  • Le maschere (o form) sono gli elementi grafici utili all’interazione da parte degli utenti con i dati delle tabelle e delle
  • I report consentono la stampa dei dati contenuti nelle tabelle o dei risultati delle
  • Le macro possono contenere semplici sequenze di comandi, gli stessi che è possibile eseguire attraverso i menu di Access, in modo da
  • Le pagine permettono la pubblicazione dei dati attraverso un server
  • I moduli possono contenere sottoprogrammi scritti in VBA (Visual Basic for Application, il Visual Basic dei programmi di Office) e richiamabili da uno qualsiasi degli altri elementi dell'applicazione.

 

Esempi di criteri di query

Un criterio di query consiste in una regola che identifica i record da includere nei risultati della query. Non tutte le query devono includere criteri, tuttavia se non si desidera visualizzare tutti i record memorizzati nell'origine record sottostante, è necessario aggiungere criteri alla query in fase di progettazione.

I criteri sono simili a formule, ovvero sono costituiti da stringhe contenenti riferimenti a campi, operatori e costanti. In Microsoft Office Access 2007 i criteri di query sono inoltre detti espressioni.

Nelle tabelle seguenti vengono illustrati alcuni criteri di esempio e ne viene descritto l'utilizzo.

 

Criteri

Descrizione

 

>25 AND <50

Questo criterio si applica ai campi di tipo Numero, ad esempio Prezzo o Scorte. Il criterio include solo i record nei quali il campo Prezzo o Scorte contiene un valore maggiore di 25 e minore di 50.

 

Is Null

È possibile applicare questo criterio a qualsiasi tipo di campo per visualizzare i record in cui il valore del campo è Null.

 

Criteri per i campi di tipo Testo, Memo e Collegamento ipertestuale

Per includere i record che

Utilizzare il criterio

Risultato della query

Corrispondono esattamente a un valore, ad esempio Cina

"Cina"

Restituisce i record in cui il campo Paese è impostato su Cina.

Non corrispondono a un valore, ad esempio Messico

NOT "Messico"

Restituisce i record in cui il campo Paese è impostato su un valore diverso da Messico.

Iniziano con la stringa specificata, ad esempio I

Like U*

Restituisce i record in cui il campo Paese contiene un nome che inizia con U, ad esempio Ungheria, Ucraina e così via.

 

Nota Quando viene utilizzato in un'espressione, l'asterisco (*) rappresenta una stringa qualsiasi di caratteri. L'asterisco è inoltre detto carattere jolly.

Non iniziano con la stringa specificata, ad esempio I

Not Like U*

Restituisce i record in cui il campo Paese contiene un nome che inizia con un carattere diverso da "U".

Contengono la stringa specificata, ad esempio

LIKE "*Corea*"

Restituisce i record in cui il campo Paese

Corea

 

contiene la stringa "Corea".

Non contengono la stringa specificata, ad esempio Corea

NOT LIKE "*Corea*"

Restituisce i record in cui il campo Paese non contiene la stringa "Corea".

Terminano con la stringa specificata, ad esempio "ina"

LIKE "*ina"

Restituisce i record in cui il campo Paese contiene un nome che termina in "ina", ad esempio Cina e Argentina.

Non terminano con la stringa specificata, ad esempio "*ina"

NOT LIKE "*ina"

Restituisce i record in cui il campo Paese contiene un nome che non termina in "ina", ad esempio Cina e Argentina.

Contengono valori Null (o mancanti)

Is Null

Restituisce i record che non contengono alcun valore nel campo.

Non contengono valori Null

Is Not Null

Restituisce i record in cui è presente un valore nel campo.

Contengono stringhe di lunghezza zero

"" (coppia di virgolette)

Restituisce i record in cui il campo è impostato su un valore vuoto diverso da Null..

Non contengono stringhe a lunghezza zero

NOT ""

Restituisce i record in cui il campo Paese contiene un valore non vuoto.

Contengono valori Null o stringhe di lunghezza zero

"" Or Is Null

Restituisce i record in cui il campo non contiene valori o è impostato su un valore vuoto.

Is not empty or blank

Is Not Null And Not ""

Restituisce i record in cui il campo Paese contiene un valore non vuoto o diverso da Null.

Seguono un determinato valore, ad esempio Messico, se in ordine alfabetico

>= "Messico"

Restituisce i record di tutti i paesi, a partire da Messico fino alla fine dell'alfabeto.

Contengono uno dei valori inclusi in un elenco di valori

In("Francia", "Cina", "Germania", "Giappone")

Restituisce i record contenenti i nomi dei paesi specificati nell'elenco.

Corrispondono a uno di due valori, ad esempio

"Italia" OR "Irlanda"

Restituisce tutti i record contenenti Italia e Irlanda.

Italia o Irlanda

 

 

Contengono uno dei valori inclusi in un elenco di valori

In("Francia", "Cina", "Germania", "Giappone")

Restituisce i record contenenti i nomi dei paesi specificati nell'elenco.

Corrispondono a uno schema specifico

LIKE "Ci??"

Restituisce i record contenenti nomi di paese, quali Cina e Cile, composti da quattro caratteri dei quali i primi due sono "Ci".

 

Nota I caratteri ? e _, quando vengono utilizzati in un'espressione, rappresentano un singolo carattere e sono detti anche caratteri jolly. Il carattere _ non può essere utilizzato nella stessa espressione che contiene il carattere ? e neppure in un'espressione che contiene il carattere jolly *. È possibile utilizzare il carattere jolly _ in un'espressione che contiene anche il carattere jolly %.

Soddisfano i requisiti di lunghezza

Len([Paese]) > 10

Restituisce i record contenenti paesi il cui nome è più lungo di 10 caratteri.

Criteri per i campi di tipo Numerico, Valuta e Contatore

per includere i record che

Utilizzare il criterio

Risultato della query

Corrispondono esattamente a un valore, ad esempio 100

100

Restituisce i record in cui il prezzo unitario del prodotto è pari a € 100.

Non corrispondono a un valore, ad esempio 1000

NOT 1000

Restituisce i record in cui il prezzo

unitario del prodotto non corrisponde a € 1000.

Contengono un valore minore di un altro valore specificato, ad esempio 100

< 100

<= 100

Restituisce i record in cui il prezzo unitario è minore di € 100 (<100). La

seconda espressione (<=100) visualizza i record in cui il prezzo unitario è minore o

uguale a € 100.

Contengono un valore maggiore di un altro valore specificato, ad esempio 99,99

>99,99

>=99,99

Restituisce i record in cui il prezzo

unitario è maggiore di € 99,99 (>99,99). La seconda espressione visualizza i record in cui il prezzo unitario è maggiore o uguale a € 99,99.

Contengono uno di due valori, ad esempio 20 o 25

20 OR 25

Restituisce i record in cui il prezzo unitario corrisponde a € 20 o € 25.

Contengono un valore compreso in un determinato intervallo

>49,99 AND <99,99

-oppure-

Between 50 AND 100

Restituisce i record in cui il prezzo

unitario è compreso tra € 49,99 e € 99,99 (non inclusi).

Contengono un valore esterno a un determinato intervallo

<50 OR >100

Restituisce i record in cui il prezzo

unitario non è compreso tra € 50 e € 100.

Contengono uno dei valori specificati

In(20, 25, 30)

Restituisce i record in cui il prezzo

unitario corrisponde a € 20, € 25 o € 30.

Contengono un valore che termina con le cifre specificate

LIKE "*4,99"

Restituisce i record in cui il prezzo unitario termina con "4,99", ad esempio

€ 4,99, € 14,99, € 24,99 e così via.

Nota I caratteri * e %, quando vengono utilizzati in un'espressione, rappresentano un numero qualsiasi di caratteri e sono detti anche caratteri jolly.

 

Criteri per i campi di tipo Data/ora

Per includere i record che

Utilizzare il criterio

Risultato della query

Corrispondono esattamente a un valore, ad esempio 2/2/2006

#02.02.06#

Restituisce i record di transazioni avvenute il 2 febbraio 2006. È necessario racchiudere i valori di tipo Data tra caratteri # in modo che Access sia in grado di distinguerli dai dati di tipo Testo.

Non corrispondono a un

NOT #3/3/2006#

Restituisce i record di transazioni

valore, ad esempio 2/2/2006

 

avvenute in un giorno diverso dal 3 febbraio 2006.

Contengono valori anteriori a una determinata data, ad esempio 2/2/2006

<#2/2/2006#

Restituisce i record di transazioni avvenute prima del 2 febbraio 2006.

 

Per visualizzare transazioni avvenute prima o nella data specificata, utilizzare l'operatore <= invece di <.

Contengono valori successivi a una determinata data, ad esempio 2/2/2006

>#2/2/2006#

Restituisce i record di transazioni avvenute dopo il 2 febbraio 2006.

 

Per visualizzare transazioni avvenute dopo o nella data specificata, utilizzare l'operatore >= invece di >.

Contengono valori compresi in un determinato intervallo di date

>#2/2/2006# AND <#4/2/2006#

Restituisce i record di transazioni avvenute tra il 2 febbraio 2006 e il 4

febbraio 2006.

 

È inoltre possibile utilizzare l'operatore Between per filtrare un determinato intervallo di valori. Il criterio Between#2/2/2006# AND #4/2/2006# equivale a >#2/2/2006# AND <#4/2/2006# .

Contengono valori esterni a un determinato intervallo

<#2/2/2006# OR >#4/2/2006#

Restituisce i record di transazioni avvenute prima del 2 febbraio 2006 o dopo il 4 febbraio 2006.

Contengono uno di due valori, ad esempio 2/2/2006 o 3/2/2006

#2/2/2006# OR #3/2/2006#

Restituisce i record di transazioni avvenute il 2 febbraio 2006 o il 3 febbraio

2006.

Contengono uno di molti valori

In (#1/2/2006#, #1/3/2006#, #1/4/2006#)

Restituisce i record di transazioni avvenute in data 1 febbraio 2006, 1

marzo 2006 o 1 aprile 2006.

 

 

 

Contengono la data

corrente

Date()

Restituisce i record di transazioni

avvenute nel giorno corrente. Se la data corrente è ad esempio 2/2/2006, verranno visualizzati i record in cui il campo Data ordine è impostato sul 2 febbraio 2006.

 

Contengono la data del giorno precedente

Date()-1

Restituisce i record di transazioni avvenute il giorno precedente a quello corrente. Se ad esempio la data corrente è 2/2/2006, verranno visualizzati i record relativi al giorno 1 febbraio 2006.

 

Contengono la data del giorno successivo

Date() + 1

Restituisce i record di transazioni che avranno luogo il giorno successivo a quello corrente. Se ad esempio la data corrente è 2/2/2006, verranno visualizzati i record relativi al giorno 3 febbraio 2006.

 

Contengono una data dei 7 giorni precedenti

Between Date() and Date()-6

Restituisce record di transazioni avvenute durante i sette giorni precedenti. Se ad esempio la data corrente è 2/2/2006, verranno visualizzati record relativi al periodo compreso tra il 24 gennaio 2006 e il 2 febbraio 20006.

 

Contengono una data anteriore a quella corrente

< Date()

Restituisce i record di transazioni avvenute in una data anteriore a quella corrente.

 

Contengono una data successiva a quella corrente

> Date()

Restituisce i record di transazioni che avranno luogo in una data successiva a quella corrente.

 

Filtro per valori Null (o mancanti)

Is Null

Restituisce i record che non contengono la data della transazione.

 

Filtro per valori non Null

Is Not Null

Restituisce i record in cui la data di transazione è nota.