Newsgroup: it.comp.appl.access
Titolo: Filtro del Filtro

Ciao
uso Access
Senza usare i filtri di access, vorrei fare completamente in VB un filtro di
un filtro, cioè filtrare prima per "città" poi, i nomi filtrati per città
rifiltrarli ad es. per "data di nascita"
La tabella "indirizzi" contiene i campi "città", "nome" e "data di nascita"
nella maschera "Mindirizzi" ho la casella combinata "cboCittà" dove
seleziono la città (Milano) e la casella "cboAnno" in cui seleziono la data
di nascita (1980)
il pulsante "FiltraCittà" (stessa maschera) deve filtrare sia che selezioni
una o entrambe le caselle combinate a secondo delle necessità.
Per caso qualcuno mi può digitare il codice? Grazie mille
Maurizio

 ha scritto nel messaggio
news:99iad2$6mo$1...@fe1.cs.interbusiness.it...

Creati una query (Query1) che ha il seguente codice SQL:
SELECT Indirizzi.*
FROM Indirizzi
WHERE (((Indirizzi.Città) Like nz([Forms]![Mindirizzi]![cboCittà],"*")) AND
((Year([DataDiNascita])) Like nz([Forms]![Mindirizzi]![cboAnno],"*")));
Fai in maniera che la maschera Mindirizzi abbia una visualizzazione a
Maschere continue e come origine record Query1.
Inserisci le due combo nell'intestazione di Mindirizzi.
A fronte dell'evento "Dopo aggiornamento" di AMBEDUE le combo genera il
seguente codice VBA:
Me.Requery
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 Roberto
Grazie Roberto per la pronta risposta, per capire meglio a chi ancora sta
andando per tentativi,
cosa significa "Like nz" e cosa intendi per "Inserisci le due combo
nell'intestazione di Mindirizzi?"
ciao

 ha scritto nel messaggio
news:99ktb0$ika$1...@fe1.cs.interbusiness.it...

La funzione nz, se il controllo/campo che è indicato tra parentesi prima
della virgola ha un valore significativo, ti restituisce il valore di detto
controllo/campo; se invece ha un valore Null, ti restituisce il valore che è
indicato dopo la virgola (nel nostro caso "*").
La funzione Like nei criteri di una query (come nel caso in esame) se
seguita dal nome di un controllo significativo ha lo stesso significato
dell'operatore =; se è invece è seguita da una stringa che contiene il
carattere jolly asterisco (nel nostro caso "*")
seleziona tutti i record.
Le due funzioni utilizzate insieme, ad esempio Like
nz([Forms]![Mindirizzi]![cboAnno],"*"), significano che, se tu nella cboAnno
hai selezionato un anno (ovvero cboAnno diverso da Null), verranno
selezionati solamente i record che hanno l'anno selezionato; se invece nella
cboAnno non selezioni alcun anno (ovvero il valore di cboAnno è uguale a
Null), per effetto del valore restituito dalla funzione nz, la funzione
Like, diventando Like "*", seleziona tutti i record a prescindera dall'anno.
Omunque, per maggiori ragguagli, cerca sull'help sia la fuzione Like che la
funzione Nz.


Grazie per le spiegazioni
un ultima cosa, come faccio ad inserire il codice SQL nella Query?
Apro una nuova Query in modalità struttura, chiudo mostra tabella e poi apro
il menu Query
poi SQL specifico?
Ci ho provato ma senza risultati
Ciao



Apri una nuova query in modalità struttura, dal menu Visualizza seleziona
Visualizzazione SQL; dalla finestra che ti si apre cacella tutto ciò che
compare e incollaci il codice SQL che è stato postato nel messaggio; dal
menu Visualizza seleziona Visualizza Struttura; chiudi e salva.
