Newsgroup: it.comp.appl.access
Titolo: Subform che non 'sente' il Filter / FilterOn

Dispongo di una form, diciamo Articoli, non collegata a dati, ci sono 
solo delle textbox per selezionare alcuni articoli tra quelli disponibili
 
All'interno c'e' una subform che contiene i costi degli articoli, 
subform collegata ai dati tramite una query supponiamo sia 
qryCostiArticoli del tipo 'select CODICE, DESCRIZIONE, PREZZO from 
ARTICOLICOSTI'
 
Sul form_load della form principale c'e' anche l'impostazione del Filter 
della subform, e quindi quando parte tutto, dei 100K costi articoli 
disponibili vedo solo quelli dell'articolo corrente diciamo ART123, 
poiche' nelle textbox della form ci metto un articolo specifico ed in 
base a quello imposto il Filter della subform
Bon, funziona tutto come previsto, a parte le prestazioni
Nel senso che quando parte tutto sembra che prima la subform venga 
alimentata da tutti i costi (e ci impiega alcuni secondi) e poi viene 
filtrata e mostra solo le tre-quattro righe corrispondenti al costo 
articolo corrente (e ci impiega qualche decimo)
 
Ho provato ad eliminare sulla subform la query dalla proprieta'  RowSource
Quindi parte tutto, viene settato il Filter della subform, e POI vado a 
indicare sulla RowSource della subrofm il nome della query
Niente da fare, mi mostra sempre tutti i costi, devo rimettere il Filter 
per selezionare solo le tre righe che mi interessano, ma la fase del 
primo rinfresco dopo spreca inutilmente secondi me la devo ciucciare 
comunque
 
Quindi, ringraziando il lettore per la pazienza, la domanda e':  volendo 
tenere la struttura attuale e quindi query generica senza selezione 
indicata su RowSource della subform e selezione su Filter della subform, 
come fare apparire gia' la prima schermata con i record filtrati come da 
proprieta' Filter?

 proprieta' Filter?
 
Puoi accodare alla stringa SQL origine dati della SubForm (che assegnerai programmaticamente su Evento Open o Load) il criterio che attualmente applichi con Filter, rinunciando poi a quest'ultimo.
 
Saluti


Si, ovviamente questa e' una possibilita', che sto gia' usando
Ma vorrei capire anche il motivo per cui l'altro sistema non mi funziona 
e quindi "..volendo tenere la struttura attuale.." cioe' query non 
filtrata sul campo DataSource e Filter per limitare le righe, e' 
possibile visualizzare al 'primo colpo' solo le righe gia' filtrate?

 possibile visualizzare al 'primo colpo' solo le righe gia' filtrate?
 
 
Beh, non vedo come dato che la proprietà 'Filter' si applica sul set di Record caricato nella Form.
Il comportamento che descrivi è normale: prima viene caricata l'origine dati e solo poi sarà possibile applicare eventuali filtri.
 
Saluti
 
 


Quindi dici sia un problema 'congenito' ?
Nel senso che usare query che, senza filtro, restituiscono centinaia di
migliaia di righe, praticamente non e' possibile?
 
E vuoi che non ci sia qualche barba-trucco?
Tipo tenere la form scollegata, e collegarla ai dati quando la query 
iniziale sia gia' stata filtrata?
 
 

 Quindi dici sia un problema 'congenito' ? 
 
Funziona in quel modo, ma non è un problema dato che hai l'alternativa di cui si discuteva all'inizio del th.
La proprietà Filter di Access è favolosa per tante cose, ma adesso ti stai incapponendo volendo usarla per forza in uno scenario in cui risulta svantaggiosa.
 
Saluti


Hai ragione
Mollo l'osso