Access & C.

Risultato di query annidate in una sottomaschera.

Giovanni mi scrive per un problema.

Salve ..... ho una tabella con diversi campi, uno dei quali "voto" è numerico, mentre un'altro campo, "cognome" è testo. Nella tabella sono presenti centinaia di record, il risultato che devo ottenere è questo: Selezionando da un menù a tendina o semplicemente scrivendo un cognome devo trovare all'interno della tabella tutti i record che si avvicinano con uno scarto di 5 punti relativamente al campo "voto" al cognome selezionato .......

La ringrazio anticipatamente.

Giovanni

Risposta

La risposta è tutta in una query.
Supponiamo di avere una tabella definita come la descrive Giovanni:
ID: contatore;
Cognome: Testo;
Voto: Numerico.

Supponiamo di aver selezionato il cognome 'Rossi' da un'apposita maschera. La query che esegue il filtraggio è la seguente:

SELECT *
FROM Voti
WHERE Voto BETWEEN (SELECT Voto + 5 FROM Voti WHERE Nominativo='Rossi') AND (SELECT Voto - 5 FROM Voti WHERE Nominativo='Rossi');

La particolarità di questa query di selezione è la sua composizione con query di selezione annidate (nested query). Ovviamente le query annidate devono restituire un solo valore per poter essere sostituite agli operandi dell'operatore SQL BETWEEN.

Seguendo questo link potrete scaricare un esempio che mostra il filtraggio operato dalla query in una sottomaschera.

http://www.mdenittis.it/Access/Test_VotiNomi.zip

Per ogni osservazione o commento, usate la maschera qui sotto.

Ciao.

Inserisci un commento   |   Indietro

[1] Nick Name: IvanDaBologna     Data: 11/02/2011 20:54:34   
soluzione elegante e , per me che sono al nodo delle query annidate, un bell'esempio di utilizzo dinamico. Ivan   

  [da 1 a 1 di 1 commenti]     |   Indietro

Inserisci un commento

Nick: e-mail:

web:

Commento: