Newsgroup: it.comp.appl.access
Titolo: filtro su maschera continua associata

ho questa tabella:
tCanzoni
artista testo
album   testo
titolo  testo
una maschera continua associata alla tabella tCanzoni con su intestazione
maschera una combo non associata,con origine riga:
SELECT tCanzoni.album
FROM tCanzoni
GROUP BY tCanzoni.album
ORDER BY tCanzoni.album;
su evento dopo aggiornamento della combo ho questo codice:
me.filter= ecc..
me.filter=true
selezionando un albun nella combo vedo tutti i titoli di qull'album.
ora il problema è che quando apro la maschera si visualizzano tutti i record
della tabella tCanzoni.
io vorrei che la maschera si aprisse vuota.
come devo fare, devo fare una maschera non associata?
e come?
grazie
ciao

 ha scritto nel messaggio
news:gf_3b.276746$Ny5.8...@twister2.libero.it...

ho trovato la soluzione!!!!!!!!
grazie e scusate il disturbo

 grazie e scusate il disturbo
Tenendo conto che questo NG viene usato per apprendere e la cosa auspicabile
è che ognuno vada a cercare nei post degli altri la soluzione ai propri
problemi, sarebbe stato carino che tu postassi la soluzione trovata.
Si chiama "scambio reciproco" ...
Antonio

 Antonio
ecco la soluzione che ho trovato:
Ipotizziamo che i dati oggetto della tua ricerca siano residenti in una
tabella chiamata TABELLA1, che ogni record contenga 5 campi (chiamati
CAMPO1, CAMPO2......, CAMPO5) e che la ricerca tu la debba fare in AND su
CAMPO1 e CAMPO2.
Creati una query (QUERY1) che contiene tutti e 5 i campi di TABELLA1.
Creati una maschera (MASCHERA1) che abbia come "Origine record" QUERY1 ed
abbia come "Visualizzazione predefinita" Maschere continue.
Nell'intestazione di MASCHERA1 dichiarati due caselle di testo non associate
che chiamerai CHIAVE1 e CHIAVE2.
A fronte dell'evento "Dopo aggiornamento" del controllo CHIAVE1 genera il
seguente codice VBA:
    Me.Requery
    Me![CHIAVE2].SetFocus
e a fronte dell'evento "Dopo aggiornamento" del controllo CHIAVE2 genera il
seguente codice VBA:
    Me.Requery
    Me![CHIAVE1].SetFocus
A Fronte dell'evento "Su corrente" di MASCHERA1 genera il seguente codice
VBA:
    Me![CHIAVE1].SetFocus
Apri la struttura di QUERY1 e nella riga "Criteri:" di CAMPO1 scrivi:
    Like [Forms]![MASCHERA1]![CHIAVE1]
e nella riga "Criteri:" di CAMPO2 scrivi:
    Like [Forms]![MASCHERA1]![CHIAVE2]
Chiudi e salva la struttura di QUERY1.
Apri MASCHERA1, digita in CHIAVE1 e CHIAVE2 le due chiavi di ricerca: nel
corpo di MASCHERA1 dovresti vedere i record che soddisfano i criteri di
ricerca.
Se vuoi vedere tutti i record contenuti nella tabella, digita sia in CHIAVE1
che in CHIAVE2 un * (asterisco); se la selezione la vuoi effettuare solo su
CAMPO1, digita la chiave di ricerca in CHIAVE1 ed * (asterisco) in CHIAVE2.
Se non conosci con esattezza il contenuto dei campi, digita la stringa di
ricerca racchiusa tra due asterischi (*chiave*).
Così facendo non riuscirai però a visualizzare i record che abbiano CAMPO1
e/o CAMPO2 con il valore Null.
scusa ma la fretta di chiudere il
problema!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 ha scritto nel messaggio
news:kB04b.277175$Ny5.8...@twister2.libero.it...

Infatti il trucco è quello di fare un po' diversamente.
Intanto cambia l'origine record della form, mettendo una query sulle tue
tabelle e con due campi calcolati, quelli relativi ai campi da filtrare,
fatti così
nz(campo;"-")
in questo modo se il campo è null, il campo calcolato restituisce un
trattino.
Poi il filtro che punta alle combo fallo in questa maniera:
like nz([forms]![tuaform]![tuacombo];"*")
in questo modo nonm c'è bisogno di mettere asterisco per non filtrare, ma ti
basta non fare una selezione.
Infine questi riferimenti alle combo mettili sotto i campi calcolati: in
questo modo ti restituisce anche i record con campi nulli quando non si
effettua nessun filtro (Like "*")
Ah... l'invito a dare la soluzione era per gli altri, non per me...
Antonio

 non dubitavo