Newsgroup: it.comp.appl.access
Titolo: Filtrare listbox per campo non nullo

Salve a tutti, su una maschera "form_A" ho una textbox non associata
"NrMezzi", e una listbox "ListaCens", quello che voglio ottenere � il
conteggio dei record della listbox filtrato per il Campo 5 della stessa,
tale che,il Campo 5 non sia vuoto.
Se volessi contare tutti i record scriverei cosi
Me.NrMezzi =Me.ListaCens.ListCount
� possibile modificare questa allo scopo che ho descritto? sto
'ampazzzzz��� :-)
Grazie
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


query costruita ad hoc (se la tabella che popola listacens si chiama 
listacens) si chiama listacens_nonull sarŕ
SELECT Count(listacens.campo5) AS contacens
FROM listacens
HAVING (((Count(listacens.campo5)) Is Not Null));
e poi
Me.NrMezzi= dlookup("contacens","listacens_nonull")
ciao
Max 

 Max
Aspetta mi sto confondendo con i nomi; allora
nel mio caso:
La listbox si chiama : "ListaCens"
La tabella che popola la listbox si chiama: "tb_Censimento"
Il Campo non vuoto di cui si deve contare si chiama: "TipoMezzo" 
non ho capito la query dove la devo inserire su quale evento?



la query che si chiama listacens_nonull sarŕ
SELECT Count(tb_Censimento.TipoMezzo) AS contacens
FROM tb_Censimento>> HAVING (((Count(tb_Censimento.TipoMezzo)) Is Not 
Null));
la crei nelle query e basta
quello ke devi fare a fronte di un evento che puň variare (ad es. se questa 
list box viene popolata sempre con gli stessi dati la puoi fare su 
caricamento o su corrente, se varia al variare di un altro campo l'evento e 
quello su aggiornamento di quell'altro campo) č la dlookuop ke rimane:
Me.NrMezzi= dlookup("contacens","listacens_nonull")
ciao
max 

 non ho capito la query dove la devo inserire su quale evento?
Su l'evento "Current" della tua maschera scrivi:
Me.NrMezzi=DCount("*", "[tb_Censimento]", "Not IsNull([TipoMezzo])")
--
sv


 max
Ok se metto la DLOOKUP nell'evento corrente della form funziona, pero
siccome sullla mmaschera ho anche un'altra listbox chiamata
"lbx_Compartimenti" che se seleziono una riga mi filtra la listbox
"ListCens"  il valore del LOOKUP non cambia ho provato anche a togliere il
LOOKUP dall'evento current della form e metterlo dopo aggiornamento della
listbox "ListaCens" ma non cambia. Come posso fare?


 ha scritto nel messaggio 
news:ih4a8c$d7l$1...@news.newsland.it...

1 utilizza la soluzione di sv che è molto più elegante e performante della 
mia
2 metti l'evento sul current della maschera e sull'evento dopo aggiornamento 
della casella lbx_Compartimenti (dove presumo che tu abbia già un requery 
della casella ListaCens, la soluzione di sv la devi mettere dopo il requery) 
sperando che questa non sia a sua volta filtrata da altro
ciao
max 

 max
Ho fatto come dici ma non va, e neanche se la metto su dopo aggiornamento
della ListaCens
???


 ???
In pratica se clicco su lbx_Compartimenti viene correttamente filtrata
ListaCens, ma il LOOKUP rimane sempre sul totale 


 ListaCens, ma il LOOKUP rimane sempre sul totale 
Forse vi potrebbe essere d'aiuto, in realtà la listbox ListaCens è
ottenuta dal generatore di query che preleva i campi dalla tb_Censimento
ve la scrivo:
******************************
SELECT tb_Censimento.ID, tb_Censimento.Compartimento,
tb_Censimento.ImpiantoRaccordato, tb_Censimento.DescrizioneRaccordo,
tb_Censimento.StatoRaccordo, tb_Censimento.TipoMezzo
FROM tb_Censimento;
******************************
Forse il problema che non aggiorna quando filtro è questo
qualche idea?


 ha scritto nel messaggio 
news:ih4bns$hgo$1...@news.newsland.it...

1. non devi fare il dlookup e crearti la query come ti avevo suggerito io ma 
utilizzare il suggerimento di sv (su corrente della maschera e su dopo 
aggiornamento di lbx_Compartimenti devi inserire:
Me.NrMezzi=DCount("*", "[tb_Censimento]", "Not IsNull([TipoMezzo])")
2. come fai ad aggiornare listaCens da lbx_Compartimenti?
ciao
Max

 ha scritto nel messaggio 
news:ih4ca6$k5j$1...@news.newsland.it...

filtro? ke filtri? come filtri?
....
ciao
Max 

 Max
Scusa il ritardo nella risposta infatti ho fatto come hai indicato tu
adesso, ed ora funziona grazieee Maaaaxxxx


 sv
Grazie anche a te sv 
ora ho risolto
Ciauuuuuuuuuuuuu
