Personalizzazione delle queries

Altre opzioni disponibili con il Query Designer rendono semplici future personalizzazioni. Potete utilizzare filtri per espandere o restringere le vostre ricerche. Potete anche aggiungere espressioni per effettuare calcoli o funzioni sui dati dei campi.

Perfezionare la ricerca

Potreste aver la necessità di aver maggior controllo sui risultati di una query, ad esempio. Potreste voler cercare records che soddisfino più di un criterio, come clienti di una provincia che hanno saldi passivi maggiori di 1000 dollari. Oppure, potreste aver necessità di ricuperare record che soddisfino sia un criterio che anche un altro: clienti di Washington o della California. In entrambi i casi dovete inserire più espressioni nella scheda Filter.

In Visual FoxPro, le espressioni sono automaticamente combinate con l’operatore logico AND quando ne inserite più di una su altre righe della scheda Filter. Se dovete ricercare dati che soddisfino due o più condizioni alternative, dovete inserire l’operatore logico OR fra le varie righe con il tasto Add Or.

Restringere la ricerca

Se volete che la query estragga solamente i records che soddisfino uno o più criteri, elencate i criteri su righe separate nella scheda Filter. I criteri vengono combinati automaticamente con l’operatore AND, così solo i dati che soddisfano entrambi i criteri sono estratti.

Ad esempio, supponiamo che stiate facendo delle ricerche in una tabella di impiegati e desideriate tutti gli Agenti Rappresentanti del Regno Unito. Dovete inserire le due condizioni su due linee separate:

Combinazione di due filtri

Per impostare la condizione AND

Espandere la ricerca

Se desiderate che la query estragga i records che soddisfino una qualsiasi delle condizioni imposte le dovete combinare con l’operatore logico OR.

Per esempio potreste voler ricercare tutti i clienti che vivono in California e nello stato di Washington:

Aggiungere un OR fra due filtri

Per impostare una condizione OR

Combinare le condizioni di ricerca

Potete anche combinare le condizioni And e Or per estrarre dei records specifici dalle tabelle.

Combinare filtri diversi

Eliminare i records duplicati da una query

I record duplicati sono records in cui ogni campo del risultato combacia. Se desiderate rimuovere i record duplicati dal risultato di una query selezionate nella scheda Miscellaneus l'’pzione No Duplicates. Altrimenti, assicuratevi che l’opzione No Duplicates non sia selezionata.

Nota Se è selezionata l’opzione No Duplicates, la parola DISTINCT precede i campi nella parte riferita a Select del comando Select.

Estrarre una certa percentuale di dati nei primi records

Potete specificare quanti o in che percentuale di records con il valore più alto o più basso di un certo campo devono essere restituiti dalla query. Ad esempio potete richiedere che la query vi mostri i records con i 10 maggiori o minori valori in un dato campo.

Utilizzando l’impostazione Top della scheda Miscellaneus, potete impostare un numero di percentuale di records che volete visualizzare. Per impostare la parte più alta o la parte più bassa, impostate l’ordine con cui devono essere estratti i records in modo che siano mostrati in ordine ascendente per vedere i più alti o in ordine discendenti per vedere i più bassi.

Per estrarre una certa percentuale dei primi records

  1. Nella scheda Order By, selezionate il campo da cui volete prelevare i valori più alti, quindi scegliete Descending allo scopo di vedere questi valori oppure Ascending per vedere quelli più bassi. Se dovete impostare l’ordinamento anche su altri campi, sistemateli il secondo criterio dopo quello precedente,
  2. Nella scheda Miscellaneous, inserite la percentuale di dati che volete estrarre nella cella Number of records. Per vedere la percentuale selezionate Percent.
  3. Se non volete records duplicati, selezionate No duplicates.

Aggiungere una espressione ad una Query

Potete creare delle query molto più flessibili e potenti se incorporate delle espressioni

Aggiungere una espressione al risultato di una query

Potete anche includere funzioni e espressioni nel risultato di una query, utilizzando la cella alla fine della scheda Fields. Se volete, potete anche assegnare un nome al campo che ospita l’espressione, assegnandogli un alias

Ad esempio potreste voler includere nel risultato di una query la somma di tutti gli ordini in un campo con l’alias Totale:

SUM(orders.order_amt) AS Total

Creare una espressione da includere nel risultato di una query

Potete inserire l’espressione direttamente nella cella oppure utilizzare l’Espression Buider della scheda Fields

Per aggiungere una espressione al risultato di una query

    1. Nella scheda Fields, inserite l’espressione nella cella Functions and Expressions.

      -oppure-

      Scegliete il tasto Expression Builder e inserite l’espressione nella cella Functions and expressions.

    2. Cliccate sul tasto Add per inserire l’espressione nella cella Selected fields.

Nota Valori nulli vengono ignorati nei calcoli.

Eseguire un filtro con una espressione

Al posto di ricercare semplicamente un records che corrisponda a un o più campi, potete utilizzare una espressione che combini due campi, o esegua dei calcoli basati su un campo e quindi ricercare altri campi che combacino con i campi combinati o calcolati.

Potete inserire l’espressione direttamente nella cella Example. Se desiderate aiuto, potete utilizzare l’Expression Builder, che è disponibile tramite il tasto vicino alla cella Expressions and Functions della scheda Fields.

Ad esempio, nella scheda ordini, potreste controllare il totale sconto di un cliente combinando il totale ordini e lo sconto applicato in questo modo:

Orders.order_amt * Orders.order_dsc

Creare una espressione mediante l’ Expression Builder

Ottobre 1999
 

FoxPro e Visual FoxPro® sono un marchi registrati da Microsoft Corporation©

Fonte: "Users Guide Visual FoxPro®" di Microsoft© in lingua inglese.
Questa guida ha il solo scopo di fornire le indicazioni
per muovere i primi passi con questo bellissimo strumento.

 


dal 22 Giugno 1999
webmaster@foxitaly.com