DocBrowser Plus - Filtri di selezione

Software di archiviazione ottica dei documenti

Questa sezione permette di definire le regole con cui i documenti verranno scelti per essere inseriti o meno nei risultati della ricerca

Sezione "filtri di selezione"

Prima di vedere il funzionamento della sezione e come inserire cancellare e modificare le regole di selezione vediamo di capirne il significato. Prendiamo spunto dall'esempio dell'immagine sopra e cerchiamo di capire il funzionamento del filtro in essa mostrato.

Questo esempio generato nell'archivio dimostrativo dei protocolli risponde alla domanda "tutti i documenti inviati al Ministero prima del 01/01/2002 e tutti quelli da esso ricevuti dopo questa data". La query è stata definita usando due sezioni che corrispondono rispettivamente ai due casi "documenti prima del 01/01" e "documenti dopo". La relazione tra le due sezioni è un "OR" che implica che o l'una o l'altra delle condizioni deve essere vera. All'interno delle due sezioni sono state definite esplicitamente le regole di sezione: nella prima si vogliono i documenti che rispettano sia che il mittente sia il ministero sia che la data del documento sia antecedente allo "01/01/2001", nella seconda si vogliono i documenti che rispettano sia che il destinatario sia il ministero sia che la data del documenti sia successiva allo "01/01/2001".

Quindi, con questa query si otterranno tutti i documenti che:

Si fa presente che non è possibile scrivere la query tutta in una unica sezione perchè il significato della query sarebbe:

ossia visto che, come le operazioni matematiche, a meno di esplicitare delle parentesi, è possibile scambiare l'ordine delle operazioni ciò equivale a:

e quindi si avrebbero tutti i documenti spediti o inviati dal ministero indipendentemente dalla data di spedizione (tranne quelli inviati lo 01/01/2002 che non fanno parte della selezione visto che nessuno dei due operatori maggiore/minore contempla anche l'uguale...ma tanto il 01/01/2002 e' festivo :-)

Si comprende quindi che i "gruppi di selezione" (arancioni) separano i "filtri di selezione" raggruppandoli di modo che essi siano elaborati univocamente e indipendentemente dagli altri gruppi. Queste gruppi si raccordano con gli altri tramite l'operatore booleano alla destra del campo "Anteprima del gruppo".

All'interno di ogni gruppo vengono definite le regole con cui selezionare i record nella forma "nome campo" + "operatore"+"valore" e, se ci sono altre regole dopo quella considerata, un operatore booleano che raccorda questa regola con la successiva. Queste regole sono, per l'appunto, dette "filtri di selezione".

Facciamo un altro esempio e consideriamo l'archivio della videoteca. Vogliamo ottenere una ricerca di tutti i film prodotti quest'anno su videocassetta. La query da costruire sara semplicemente questa in figura

Esempio di selezione singola

che, ovviamente, ha un solo gruppo di selezione, in quanto l'espressione di ricerca voluta non ne richiede altri.

L'occhio più attento potrebbe far notare che la richiesta era di avere tutti i film di quest'anno mentre noi abbiamo inserito esplicitamente un anno nella ricerca. Quindi nel 2003 dovremo ricordarci di modificare l'anno nella voce altrimenti otterremo dei risultati sbagliati.

E' vero. Una prima soluzione potrebbe essere quella di rendere il valore dell'anno su cui ricercare di tipo dinamico di modo che esso ci venga chiesto ad ogni ricerca. Per far questo e, più in generale, per generare delle ricerche per cui uno o più campi non sono immediatamente determinati all'atto della generazione delle voce di ricerca ma debbono essere richiesti di volta in volta all'utente prima della generazione dei risultati è sufficiente inserire, come valore del campo, il carattere "?". Se si fa questa cosa nella query sopra sostituendo a 2002 il carattere "?" si ha che, ogni volta che viene eseguita la ricerca, una finestra ci chiederà l'anno su cui eseguirla.

Finestra di richiesta parametri

E' possibile più di un parametro di ricerca, basta sostituire nei valori di tutte le regole di filtro che si vuole vengano definite dall'utente all'atto dell'esecuzione della ricerca con il carattere "?" e il gioco è fatto.

Ora ci si può obiettare che così ora la cosa è ancora peggio in quanto devo definire l'anno ad ogni selezione. Questo è vero, l'esempio serviva solo a introdurre e definire le regole dinamiche di filtro. La soluzione definitiva consiste nell'utilizzare il VBScript, ma questo esula da questa sezione dell'help. Per chi fosse interessato si rimanda alla sezione relativa [NOTA: DA FARE]

Come si inseriscono e rimuovono i gruppi di selezione ed i filtri?

Per aggiungere il primo gruppo di selezione basta premere il pulsante "Ins". Automaticamente verrà creato un gruppo di selezione con un filtro vuoto

Per rimuovere i gruppi di selezione, una volta che ne sia rimasto uno solo, basta premere il pulsante "Del".

In tutti gli altri casi, un gruppi di selezione o un filtrio di selezione viene aggiunto non appena l'operatore booleano presente nella colonna "relaz. succ." dell'ultimo gruppo di selezione o filtro viene impostato ad un valore non nullo.

Aggiunta di un nuovo filtro

Allo stesso modo l'ultimo gruppo di selezione viene rimosso o l'ultimo filtro di un gruppo di selezione viene rimosso non appena l'operatore booleno della riga precedente viene impostato a NULL.