Newsgroup: it.comp.appl.access
Titolo: visualizzazione query in elenco in base a opzione

1)
Ho una query del tipo
Select
Tab1.campo1, Tab1.campo2, Tab1.campo3
From
Tabella2 Right Join Tab1
on
Tabella2.cmpA = Tab1.campo1
Nel campo3 di Tab1 ho per tutti i record solo 2 valori "S" e "T"
Dentro una maschera ho un elenco collegato a tale query.
Ora io vedo nell'elenco della maschera tutti i record della query
cioè tutti quelli del campo3 e quindi sia i valori S che T.
Volevo mettere 3 opzioni (quelle con cerchietto, ne posso attivare
su tre al massimo 1 alla volta,non ricordo il nome)
in modo che se:
opz1 = ON  devo vedere solo i record: dove campo3 = S
opz2 = ON  devo vedere solo i record: dove campo3 = T
opz3 = ON  devo vedere tutti i record: quindi sia S che T
---------------------------------------------------------------------------------
2)
Siccome la maschera è collegata ad una tabella, devo anche
fare in modo che, per ogni suo record, mi rimanga sulla form ed
in elenco la situazione delle opzioni scelte.
Mi spiego meglio.
Mi trovo:
sul 1 record della maschera e scelgo
opz3 = On e quindi avrò l'elenco con S e T;
vado sul 2 record della maschera e scelgo
opz2 = On e quindi avrò elenco con T;
Ora se ritorno al primo record mi deve far rivedere la situazione
che avevo già scelto e quindi opz3 ON e elenco con S e T;
Praticamente mantiene per ogni record della Form le opzioni che
ho fatto in precedenza con la corrispondente visualizzazione dei
record nell'elenco.
Quando invece, mi sposto su un record nuovo, di default devo
sempre aver messa l'opz1 con i relativi record dell'elenco (
essendo opz1 devo vedere solo S)
How can I risolver this two (for the moment) problem?

 ha scritto nel messaggio
news:3C470DD1...@lycos.it...

Secondo me detta così non funziona.
Per creare uno storico del tipo di filtro a seconda del record su cui vai,
devi inserire nella tabella un campo che memorizzi la scelta effettuata,
dopodichè inserisci su corrente della maschera e su dopoaggiornamento del
gruppo di opzioni  il codice che:
A: memorizza la scelta sul campo della tabella
Es.  if Me!SceltaOpzione=1 then
        Me!CampoScelta=1
        ecc.
B: filtra i dati secondo la scelta fatta
Es. if me!CampoScelta=1 then
        DoCmd.ApplyFilter , Me!CampoScelta=S (non ricordo la sintassi
esatta...)
    else me!camposcelta=3 then
        docmd.ShowAllRecord
Prova
Ciao Paolo

 Ciao Paolo
n.b. devo agire sulla query che metto dentro un elenco di una sottomaschera
in base all'opzione selezionata (che quindi mi va a cambiare la query)
credo sfogliando vecchi post che serva una queri a cui passo dei valori
non so se si dice query paramentrica
questo per risolvere il primo punto

         docmd.ShowAllRecord
però n.b. io non e che in base allo storico devo poi filtrare la maschera
questo perchè lo storico serve solo per farmi vedere dentro il mio elenco
(tipo casella combinata senza pulsantino,vedo tutti i record)
ho il risultato di una query che dipende di volta in volta dal opz inserita
quindi per il momento in riferimento al primo punto:


 ha scritto nel messaggio
news:3C475A91...@lycos.it...

Perchè ti vuoi complicare la vita?
con Docmd.ApplyFilter fai l'euivalente di inserire un criterio nella griglia
della QBE.
Il codice che ti ho postato è solo un'indicazione da mettere a posto, per
esempio prima di inserire un nuovo filtro devi anteporre
Docmd.ShowAllRecord, se no non funziona.
Creare lo storico sulla tabella ti serve per mantenere le scelte fatte in
precedenza, se non le vuoi mantenere quando chiudi la maschera lanci una
query di aggiornamento che riporta a null tutti i valori della tabella.
Nel NG ci sono persone che masticano il codice come il chewingum, ma per gli
smanettoni come me (e te :-)) è spesso più sano scegliere vie meno eleganti
ma più semplici
Paolo