Se si vuole visualizzare una richiesta di input ogni volta che si esegue una query in Access, è possibile creare una query con parametri.
Si può anche creare una maschera per raccogliere i valori dei parametri da usare per limitare i record restituiti per query, maschere o report. Questo articolo illustra come usare le maschere per migliorare l'utilizzo dei parametri in query, maschere e report.
In questo articolo
Panoramica
È possibile usare criteri in una query con parametri di Access per limitare il set di record restituito dalla query. Le finestre di dialogo fornite da una query con parametri potrebbero non essere sufficienti a soddisfare le esigenze specifiche. In questo caso è possibile creare una maschera che risponda meglio alle specifiche necessità in termini di raccolta dei parametri. Questo articolo spiega come creare una maschera per la raccolta dei parametri di query e report. Presuppone che si abbia familiarità con la creazione di query e la definizione dei parametri nelle query. Prima di continuare, è consigliabile acquisire familiarità almeno con la creazione di query di selezione.
Questo articolo fornisce esempi relativi all'utilizzo di parametri nelle query. Non offre informazioni di riferimento complete relative all'impostazione di criteri.
-
Per altre informazioni su come creare una query di selezione, vedere l'articolo Creare una query di selezione semplice.
-
Per altre informazioni sulle query in generale, vedere l'articolo Introduzione alle query.
-
Per altre informazioni sulla definizione dei parametri nelle query, vedere l'articolo Usare parametri per richiedere input durante l'esecuzione di una query.
-
Per altre informazioni su come specificare i criteri nelle query, vedere Esempi di criteri di query.
Usare parametri nelle query
Usare un parametro in una query è semplice come creare una query che usa criteri. È possibile progettare una query in modo che richieda una sola informazione, ad esempio un numero di parte, o più informazioni, ad esempio due date. Per ogni parametro, una query con parametri visualizza una finestra di dialogo separata che richiede l'immissione di un valore per tale parametro.
Aggiungere un parametro a una query
-
Creare una query di selezione e quindi aprire la query in visualizzazione Struttura.
-
Nella riga Criteri di un campo per il quale si vuole applicare un parametro digitare il testo che deve essere visualizzato nella finestra di dialogo del parametro, racchiudendolo tra parentesi quadre, ad esempio:
[Data inizio]
Quando si esegue la query con parametri, il testo viene visualizzato in una finestra di dialogo senza le parentesi quadre.
Si può anche usare un'espressione con le richieste di parametri, ad esempio:
Between [Data inizio] And [Data fine]
Nota: Viene visualizzata una finestra di dialogo separata per ogni richiesta di parametro. Nel secondo esempio vengono visualizzate due finestre di dialogo: una per Data inizio e una per Data fine.
-
Ripetere il passaggio 2 per ogni campo a cui si vogliono aggiungere parametri.
È possibile usare la procedura precedente per aggiungere un parametro a uno qualsiasi dei tipi di query seguenti: di selezione, a campi incrociati, di accodamento, di creazione tabella o di aggiornamento.
Si può anche aggiungere un parametro a una query di unione seguendo questa procedura:
-
Aprire la query di unione in visualizzazione SQL.
-
Aggiungere un clausola WHERE contenente ognuno dei campi per i quali si vuole richiedere un parametro.
Se esiste già una clausola WHERE, verificare che i campi per i quali si vuole usare una richiesta di parametro siano già inclusi nella clausola e in caso contrario aggiungerli.
-
Invece di usare un criterio nella clausola WHERE, usare una richiesta di parametro.
Specificare i tipi di dati del parametro
Si può inoltre specificare il tipo di dati che dovrà essere accettato da un parametro. È possibile specificare il tipo di dati per qualsiasi parametro, ma è particolarmente importante specificare il tipo di dati per i dati numerici, valuta o data/ora. Quando si specifica il tipo di dati che dovrà essere accettato da un parametro, gli utenti vedranno un messaggio di errore più utile qualora immettano il tipo di dati non corretto, ad esempio testo quando è prevista una valuta.
Nota: Se si configura un parametro affinché accetti dati di testo, qualsiasi tipo di input verrà interpretato come testo e non verranno visualizzati messaggi di errore.
Per specificare il tipo di dati per i parametri in una query, seguire questa procedura:
-
Con la query aperta in visualizzazione Struttura, nel gruppo Mostra/Nascondi della scheda Struttura fare clic su Parametri.
-
Nella colonna Parametro della finestra di dialogo Parametri query digitare la richiesta per ogni parametro per cui si desidera specificare il tipo di dati. Assicurarsi che ogni parametro corrisponda alla richiesta che si desidera utilizzare nella riga Criteri della griglia di struttura della query.
-
Nella colonna Tipo di dati selezionare il tipo di dati per ogni parametro.
Creare una maschera per la raccolta di parametri
Le query con parametri hanno una finestra di dialogo incorporata per la raccolta dei parametri, che tuttavia offre solo le funzionalità di base. L'utilizzo di una maschera per la raccolta di parametri consente di sfruttare le caratteristiche seguenti:
-
Possibilità di usare controlli specifici del tipo di dati, ad esempio controlli calendario per le date.
-
Persistenza dei parametri raccolti in modo che sia possibile usarli con più di una query.
-
Possibilità di usare caselle combinate o caselle di riepilogo per la raccolta dei parametri, in modo che l'utente possa selezionare un valore nell'elenco dei valori di dati disponibili.
-
Possibilità di usare controlli per altre funzioni, ad esempio per l'apertura o per l'aggiornamento di una query.
Il video seguente mostra come creare una semplice maschera in cui raccogliere i parametri di una query invece di usare le finestre di dialogo normalmente associate alle query con parametri.
Creare una maschera per la raccolta di parametri per un report
Esistono diversi approcci a questo scenario, ma questo articolo illustra una sola tecnica che usa principalmente macro. Seguire questa procedura per creare una maschera per la raccolta di parametri per un report.
-
Passaggio 2: Creare un modulo di codice per verificare se la maschera dei parametri è già caricata
-
Passaggio 3: Creare macro per controllare la maschera e il report
-
Passaggio 4: Aggiungere i pulsanti di comando OK e Annulla alla maschera
-
Passaggio 5: Usare i dati della maschera come criteri di query
-
Passaggio 6: Aggiungere le azioni di macro agli eventi del report
Passaggio 1: Creare una maschera che accetta input
-
Nel gruppo Maschere della scheda Crea fare clic su Struttura maschera.
-
In visualizzazione Struttura premere F4 per visualizzare la finestra delle proprietà e quindi specificare le proprietà della maschera, come indicato nella tabella seguente.
Proprietà
Impostazione
Didascalia
Immettere il nome che si vuole venga visualizzato nella barra del titolo della maschera.
Visualizzazione predefinita
Maschera singola
Consenti visualizzazione Maschera
Sì
Consenti visualizzazione Foglio dati
No
Consenti visualizzazione Tabella pivot
No
Consenti visualizzazione Grafico pivot
No
Barre di scorrimento
Nessuna
Selettori record
No
Pulsanti di spostamento
No
Stile bordo
Finestra di dialogo
-
Per ogni parametro che si vuole raccogliere tramite la maschera fare clic su Casella di testo nel gruppo Controlli della scheda Progettazione.
-
Impostare le proprietà delle caselle di testo come indicato nella tabella seguente.
Proprietà
Impostazione
Nome
Immettere un nome che descriva il parametro, ad esempio DataInizio.
Formato
Scegliere un formato che rifletta il tipo di dati del campo del parametro. Ad esempio, selezionare Data generica per un campo di tipo Data.
-
Salvare la maschera e assegnarle un nome, ad esempio CriteriMaschera.
Passaggio 2: Creare un modulo di codice per verificare se la maschera dei parametri è già caricata
-
Nel gruppo Macro e codice della scheda Crea fare clic su Modulo.
In Visual Basic Editor viene aperto un nuovo modulo.
-
Digitare o incollare il codice seguente in Visual Basic Editor:
Function IsLoaded(ByVal strFormName As String) As Boolean Dim oAccessObject As AccessObject Set oAccessObject = CurrentProject.AllForms(strFormName) If oAccessObject.IsLoaded Then If oAccessObject.CurrentView <> acCurViewDesign Then IsLoaded = True End If End If End Function
-
Salvare il modulo con un nome univoco e quindi chiudere Visual Basic Editor.
Passaggio 3: Creare macro per controllare la maschera e il report
Usando le funzionalità di sottomacro delle macro di Access è possibile definire tutti i passaggi che occorre eseguire in una singola macro. Verranno create quattro sottomacro, ossia Apri finestra di dialogo, Chiudi finestra di dialogo, OK e Annulla, per controllare le varie attività necessarie per questa procedura. Usando la schermata seguente come a guida, creare una nuova macro con le sottomacro e le azioni seguenti. Tenere presente che per questo esempio la maschera di parametri è denominata CriteriMaschera. Modificare la macro in modo che corrisponda al nome della maschera creata in precedenza. Occorre anche fare clic su Mostra tutte le azioni nella scheda Progettazione per visualizzare tutte le azioni della macro.
Salvare e chiudere la macro. Assegnare un nome alla macro, ad esempio Macro intervallo date.
Passaggio 4: Aggiungere i pulsanti di comando OK e Annulla alla maschera
-
Riaprire la maschera di parametri creata in precedenza in visualizzazione Struttura.
-
Verificare che la casella di controllo Usa creazioni guidate Controllo nel gruppo Controlli della scheda Progettazione non sia selezionata.
-
Nel gruppo Controlli della scheda Progettazione fare clic su Pulsante.
-
Posizionare il puntatore sotto le caselle di testo nella maschera e quindi trascinare per creare un pulsante di comando OK.
-
Se la finestra delle proprietà non è visibile, premere F4 per visualizzarla.
-
Impostare le proprietà del pulsante OK come indicato nella tabella seguente.
Proprietà
Impostazione
Nome
OK
Didascalia
OK
Predefinito
Sì
SuClic
Immettere il nome della macro, ad esempio Macro intervallo date.OK.
-
Creare un pulsante di comando Annulla e impostare le proprietà corrispondenti come indicato nella tabella seguente.
Proprietà
Impostazione
Nome
Annulla
Didascalia
Annulla
SuClic
Immettere il nome della macro, ad esempio Macro intervallo date.Annulla.
-
Salvare e chiudere la maschera.
Passaggio 5: Usare i dati della maschera come criteri di query
-
Aprire la query creata in precedenza in visualizzazione Struttura.
-
Immettere i criteri per i dati. Usare l'oggetto Maschere, il nome della maschera e il nome del controllo:
-
Ad esempio, in un database di Access (con estensione accdb o mdb), per una maschera denominata CriteriMaschera usare l'espressione seguente per fare riferimento ai controlli denominati Data inizio e Data fine nella query:
Between [Maschere]![CriteriMaschera]![Data inizio] And [Maschere]![CriteriMaschera]![Data fine]
-
Passaggio 6: Aggiungere le azioni di macro agli eventi del report
-
Aprire il report che si vuole usare in visualizzazione Struttura.
-
Se la finestra delle proprietà non è visibile, premere F4 per visualizzarla.
-
Verificare che la proprietà Origine record del report usi la query con parametri definita in precedenza.
-
Impostare queste due proprietà aggiuntive del report come indicato nella tabella seguente.
Proprietà
Impostazione
SuApertura
Immettere il nome della macro, ad esempio Macro intervallo date.Apri finestra di dialogo.
SuChiusura
Immettere il nome della macro, ad esempio Macro intervallo date.Chiudi finestra di dialogo.
Nell'evento di apertura del report Access eseguirà le azioni definite nella sottomacro Apri finestra di dialogo dell'oggetto Macro intervallo date. Allo stesso modo, quando si chiude il report, Access eseguirà le azioni definite nella sottomacro Chiudi finestra di dialogo dell'oggetto Macro intervallo date.
-
Salvare e chiudere il report.
Passaggio 7: Esercitazione
Ora che tutti gli oggetti di Access sono stati creati, è il momento di provarne il funzionamento. Aprire il report in visualizzazione reporto in anteprima di stampa e osservare che prima che Access visualizzi il report, la maschera di parametri si apre in modalità finestra di dialogo. Immettere i criteri necessari nelle caselle di testo create in precedenza e quindi fare clic sul pulsante di comando OK nella maschera. Access nasconde la maschera (Visibile = No) e apre il report con i soli dati corrispondenti ai criteri. Questa operazione funziona perché la query con parametri su cui è basato il report è in grado di leggere i valori nei controlli della maschera nascosta. Quando si chiude il report, Access chiude anche la maschera di parametri.