Newsgroup: it.comp.appl.access
Titolo: Codice per selezionare le textbox da visualizzare

Buongiorno!
Sto cercando di creare una maschera che sulla base del valore contenuto
in una textbox mi renda visibile alcune text/label altrimenti me ne
mostri altri.
Per spiegarmi se il testo in un des_art = zip allora mi mostra
dett_art1, dett_art2 e dett_art3 altrimenti le rende nascoste.
Ho provato con un "for... each"
txt = Des_Articolo
frm = [Form_DET_ART]
For Each txt In frm
    If txt.Value = "zip" Then
        Des_Caratteristica_2.Visible = False
        Num_Taglia.Visible = True
        Cda_Colore_Finissaggio.Visible = True
        Num_Grana.Visible = True
        Des_Posizione.Visible = True
        Num_Cursore_txt.Visible = True
        Num_Lunghezza.Visible = True
        Flg_Divisibile_txt_2.Visible = True
        Flg_Tiretto_txt_2.Visible = False
    Else
        Num_Taglia.Visible = False
        Cda_Colore_Finissaggio.Visible = False
        Num_Grana.Visible = False
        Des_Posizione.Visible = False
        Num_Cursore_txt.Visible = False
        Num_Lunghezza.Visible = False
        Flg_Divisibile_txt_2.Visible = False
        Flg_Tiretto_txt_2.Visible = False
    End If
next
Il tutto sembra non funzionare... avete qualche idea?
Grazie per l'aiuto!

    End If
Nel caso ci fossero tante caselle da controllare bisogna vedere se č di tipo 
OR o AND per ogni casella....
Ciao
Roberto 

Ciao!
Forse effettivamente sono stato poco chiaro...
Io devo visualizzare un elenco di articoli, aricoli che a loro volta
hanno caratteristiche diverse. Mi dovrebbe uscire fuori tipo una
tabella che in base al contenuto della prima textbox mostra o meno
altre text box.
Esempio  (semplificato)
"zip" ->  "text_1"  " text_2"
"altro" -> non mostra niente
Grazie per l'aiuto spero di essere stato più chiaro...
Ciao

 ha scritto nel messaggio 
news:1148128886....@j55g2000cwa.googlegroups.com...
Ciao!


Esempio  (semplificato)
"zip" ->  "text_1"  " text_2"


Ciao
Allora cerchi un filtro giusto?
Una condizione ("zip","altro") per filtrare i dati della tua tabella?
La textbox è un campo della tabella o della maschera?
Scusami ma dovresti essere un pò più chiaro...o forse non compredo bene io a 
cosa vuoi giungere.
Ciao
Roberto 

Ok...
Allora provo a spiegarmi un po' meglio...
Da punto di vista logico il funzionamento è che io apro una maschera
"modelli", nella maschera c'è una sottomaschera "Sottomaschera
DETTAGLIO_ARTICOLI" che mi tira su gli articoli. La sottomaschera fa
riferimento ad una query.
Tutti gli altri articoli hanno delle carattestiche simili e sono
contenute in una tabella, la "zip" , invece, ne ha altre particolari
che sono contenute in una seconda tabella.
La query cui fa riferimento la sottomaschera mi serve proprio a
visualizzare tutte queste informazioni.
Quello che vorrei far io è che all'apertura della sottomaschera,
vengano visualizzati i solo le textbox relative.
Cioè io ho settato per default tutte le textbox "not visible" tranne
quella dell'articolo e mi piacerebbe che in base al contenuto di questa
textbox venissero visualizzare (settando a visible=true) le giuste
textbox.
La sottomaschera è visualizzazione continua, quello che io non riesco
a fare è scorrere le varie textbox (quelle con il tipo di articolo)
per cambiare le la proprietà visible delle textbox correlate.
Spero di essere stato un po' più chiaro...
Grazie ancora
Marco

 Marco
Non so se ti posso essere di aiuto ma io tutte le volte che devo far
apparire o sparire solo determinati controlli in base a dei valori di
un altro controllo o di una variabile uso la proprietà TAG dei
controlli interessati impostandola (con una selezione multipla) in fase
di progettazione.
Poi con un ciclo For Each imposto la visibilità dei soli controlli che
hanno un determinato TAG.
Silvio

SI in parte è quello che ho fatto io...
il problema è il ciclo for... come farlo?

 il problema è il ciclo for... come farlo?
Dim CNT As Control
IF ValoreTextBox=X  then
    For Each CNT In Me
        CNT.TAG="S" then CNT.Visible=false
    Next
Else
    For Each CNT In Me
        CNT.TAG="S" then CNT.Visible=True
    Next
End If
oppure
For Each CNT In Me
    CNT.TAG="S" then CNT.Visible=NOT(ValoreTextBox=X)
Next
Questo codice risolve però il solo problema di visualizzare\nascondere
determinati controlli in una maschera. Non ho molta dimistichezza con
le maschere "continue".
Silvio

Se non ho capito male il tuo problema da risolvere è che per ogni riga
della tua maschera continua siano visibili o invisibili determinati
controlli in base al valore di una texbox presente su ogni riga.
Insomma ci potranno essere delle righe con tutti i controlli visibili e
altre con alcuni controlli nascosti.
Ho capito bene?
In caso affermativo prova a vedere cosa puoi fare con la formattazione
condizionale.
Purtroppo mi pare di vedere che una maschera non funzioni come un
report in cui c'è si può sfruttare l'evento Corpo_Format per inserire
il codice per nascondere determinati controlli.
Spero che ci sia qualcuno che sappia come risolvere il problema, sono
curioso anch'io :)
Silvio

Il problema è proprio come l'hai descritto te... ma qui ancora
niente... sinceramente non so proprio come fare...
Ho provato anche le due soluzioni che mi hai suggerito te ma niente...

 Ho provato anche le due soluzioni che mi hai suggerito te ma niente...
Allora secondo me dovresti tentare la strada della formattazione
condizionale modificando il colore del carattere, dello sfondo e lo
stato (attivo o disabilitato) dei controlli interessati a seconda del
verificarsi o no della tua condizione. Così, se proprio non riesci a
nasconderli i controlli, potrai almeno renderli meno evidenti e
inaccessibili.
Poi credo che se costruisci i tuoi controlli senza bordi (colore bordo
trasparente), rendendo il testo e lo sfondo dei controlli uguali al
colore dello sfondo della maschera, li renderai invisibili!:)
Silvio

Ho provato ma non va... credo che cambierò soluzione... anche se certo
un po' mi rompe...
Grazie per l'aiuto
Ciao

In che senso non va? A funzionare dovrebbe funzionare! Magari
esteticamente non è quello che volevi, ma la formattazione
condizionata funziona :)
Silvio