Azione di macro ApplicaFiltro

È possibile usare l'azione ApplicaFiltro per applicare un filtro, una query o una clausola SQL WHERE a una tabella, una maschera o un report in modo da restringere o ordinare i record di una tabella o quelli della tabella o query sottostante della maschera o del report. Per i report, è possibile usare questa azione solo in una macro specificata dalla relativa proprietà evento OnOpen.

Nota : È possibile usare questa azione per applicare una clausola SQL WHERE solo quando si applica un filtro su server. I filtri su server non possono essere applicati a un'origine record di una stored procedure.

Nota : L'azione di macro TrovaRecord non è disponibile nelle app Web di Access.

Impostazione

Gli argomenti dell'azione ApplicaFiltro sono i seguenti.

Argomento dell'azione

Descrizione

Nome filtro

Il nome di un filtro o di una query che restringe o ordina i record della tabella, della maschera o del report. È possibile immettere il nome di una query esistente o di un filtro salvato come query nella casella Nome filtro della sezione Argomenti azione del riquadro Generatore di macro.

Nota : Quando si usa questa azione per applicare un filtro su server, l'argomento Nome filtro deve essere vuoto.

Condizione WHERE

Una clausola SQL WHERE valida (senza la parola WHERE) o una espressione che restringe i record della tabella, della maschera o del report.

Nota : In un'espressione di argomento Condizione WHERE il lato sinistro dell'espressione contiene in genere un nome di campo della tabella o della query sottostante per la maschera o il report. Il lato destro dell'espressione contiene in genere i criteri da applicare al campo per restringere o ordinare i record. I criteri possono essere ad esempio il nome di un controllo o un'altra maschera che contiene il valore che si vuole corrisponda ai record della prima maschera. Il nome del controllo deve essere completo, ad esempio:

Maschere!nomemaschera!nomecontrollo

I nomi di campo devono essere racchiusi tra virgolette doppie e i valori letterali di stringa tra virgolette singole.

La lunghezza massima dell'argomento Condizione WHERE è di 255 caratteri. Se è necessaria una clausola SQL WHERE più lunga, usare il metodo ApplicaFiltro dell'oggetto DoCmd in un modulo di Visual Basic, Applications Edition (VBA). È possibile immettere istruzioni della clausola SQL WHERE composte da un massimo di 32.768 caratteri in VBA.


Nota : È possibile usare l'argomento Nome filtro se si è già definito un filtro che fornisce i dati appropriati. È possibile usare l'argomento Condizione WHERE per immettere direttamente i criteri di restrizione. Se si usano entrambi gli argomenti, Access applica la clausola WHERE ai risultati del filtro. È necessario usare uno o entrambi gli argomenti.

Note

È possibile applicare un filtro o una query a una maschera in visualizzazione Maschera o in visualizzazione Foglio dati.

Il filtro e la condizione WHERE applicati diventano l'impostazione della proprietà Filtro o FiltroServer della maschera.

Per le tabelle e le maschere, questa azione è simile a scegliere Applica filtro/ordina o Applica filtro su server dal menu Record. Il comando di menu applica il filtro creato più di recente alla tabella o alla maschera, mentre l'azione ApplicaFiltro applica un filtro o un'azione specificata.

In un database di Access, se si sceglie Filtro dal menu Record e quindi si fa clic su Ordinamento/Filtro avanzato dopo aver eseguito l'azione ApplicaFiltro, la finestra finestra Ordinamento/filtro avanzato visualizza i criteri di filtro selezionati con l'azione.

Per rimuovere un filtro e visualizzare tutti i record di una tabella o una maschera in un database di Access, è possibile usare l'azione MostraOgniRecord o il comando Rimuovi filtro/Ordina del menu Record. Per rimuovere un filtro da un progetto di Access (con estensione adp), è possibile tornare nella finestra Filtro su server in base a maschera, rimuovere tutti i criteri di filtro e quindi scegliere Applica filtro su server dal menu Record sulla barra degli strumenti oppure impostare la proprietà ServerFilterByForm su False (0).

Quando si salva una tabella o una maschera, Access salva tutti i filtri definiti in tale oggetto, ma non applica li applica automaticamente la volta successiva che si apre l'oggetto, anche se applica automaticamente qualsiasi tipo di ordinamento specificato per l'oggetto prima del salvataggio. Se si vuole applicare un filtro automaticamente la prima volta che si apre una maschera, specificare una macro contenente l'azione ApplicaFiltro o una routine evento contenente il metodo ApplyFilter dell'oggetto DoCmd come impostazione della proprietà evento OnOpen della maschera. È anche possibile applicare un filtro con l'azione ApriMaschera o ApriReport o con i metodi corrispondenti. Per applicare un filtro automaticamente alla prima apertura di una tabella, è possibile aprire la tabella usando una macro contenente l'azione ApriTabella seguita immediatamente dall'azione ApplicaFiltro.

Esempio

Applicare un filtro con una macro

La macro seguente contiene una serie di azioni, ognuna delle quali filtra i record di una maschera Customer Phone List. Illustra l'uso delle azioni ApplicaFiltro, MostraOgniRecord e VaiAControllo, nonché l'uso delle condizioni per determinare quale interruttore di un gruppo di opzioni è stato selezionato nella maschera. Ogni riga di azioni è associata a un interruttore che seleziona il set di record a partire da A, B, C e così via in tutti i record. La macro deve essere associata all'evento DopoAggiornamento del gruppo di opzioni CompanyNameFilter.

Condizione

Azione

Argomenti: impostazione

Commento

[CompanyNameFilters]=1

ApplicaFiltro

Condizione WHERE: [CompanyName] Like "[AÀÁÂÃÄ]*"

Filtra in base ai nomi di società che iniziano con A, À, Á, Â, Ã o Ä.

[CompanyNameFilters]=2

ApplicaFiltro

Condizione WHERE: [CompanyName] Like "B*"

Filtra in base ai nomi di società che iniziano con B.

[CompanyNameFilters]=3

ApplicaFiltro

Condizione WHERE: [CompanyName] Like "[CÇ]*"

Filtra in base ai nomi di società che iniziano con C o Ç.

... Le righe di azioni da D a Y hanno lo stesso formato di A fino a C ...

[CompanyNameFilters]=26

ApplicaFiltro

Condizione WHERE: [CompanyName] Like "[ZÆØÅ]*"

Filtra in base ai nomi di società che iniziano con Z, Æ, Ø o Å.

[CompanyNameFilters]=27

MostraOgniRecord

Visualizza tutti i record

[RecordsetClone].[RecordCount]>0

VaiAControllo

Nome controllo: CompanyName

Se per la lettera selezionata vengono restituiti record, passa lo stato attivo al controllo CompanyName.


Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa al programma Office Insider

Queste informazioni sono risultate utili?

Grazie per i tuoi commenti e suggerimenti

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×