Newsgroup: it.comp.appl.access
Titolo: CAMPI VISIBILI O NO CON IF... ????????????

La mia necessita' e' far scomparire un campo (casella combinata) se nel
campo prima di questo (altra casella combinata) scegliamo determinate
parole; pero' siccome le definizioni aumenteranno sarebbe opportuno
controllore non la parola intera ma solo una parte:
Es se nel primo campo (tipo Prodotto Verniciante) scegliamo una vernice
bicomponente (....... "bicomp".....) allora mi fa vedere il secondo campo
(tipo diluente) altrimenti no.
Spero di essere stato chiaro.
Grazie in anticipo

 ha scritto nel messaggio
news:PkGQ8.123081$g04....@tornado.fastwebnet.it...

Non riesco a capire se le descrizioni aggiuntive del prodotto come le
vernici sono determinate ovvero se sono2,3,4 5 oppure sono svariate.
Comunque potresti utilizzare l' enunciato select case Vedi Help se le
"condizioni" non sono molte.
ad ogni condizione me.casellacombinata2.visible = no
Spero di esser stato chiaro
Mak

 ha scritto nel messaggio
news:aevd9j$mmj$1...@lacerta.tiscalinet.it...

si in effetti ci avevo pensato ma come mi hai gia' preceduto i tipi di
vernice non li posso prevedere tutti; a questo scopo pensavo di sottopore a
if solo una parte del nome del prodotto verniciante esempio " acrilico
bicomp. trasp." Sarebbe sufficiente poter fare un controllo solo su bicomp,
in quanto questo ce l'ho in tutte le descizioni dei bicomponenti.
Grazie.

 Grazie.
Non puoi inserire in tabella un campo Sě/No dove indicherai se abilitare o
meno la casella combinata?
Ciao.
--
Sergio MAZZA

 ha scritto nel messaggio
news:aevejg$mf7$1...@canarie.caspur.it...

A questo punto penso che la soluzione proposta dal Sig. Sergio sia la piů
ovvia ..
Esempio
Associ ad ogni prodotto un campo Si/no (a tuo piacere) e poi puoi utilizzare
la funzione if sulla casella combinata1.Column(n. campo Si/no)
Es.
If me.casellacombinata.column(es.3) ="Si" then
me.casellacombinata2.visible=no
end if
Fammi sapere
MAK

 MAK
Scusate, non è che sarebbe meglio fare una verifica in base alla
codifica
del prodotto?
Mi spiego: ogni catalogo che si rispetti ha un codice prodotto, e allora
tutte le vernici epossidiche hanno un codice così: XXVE00XX
mentre una vernice di altro tipo ha un codice XXVU00XX
dove le 'X' sono lettere e gli '0' sono numeri. La struttura della
codifica, ovviamente, è arbitraria e di pura fantasia.
Se codifichi anche ferramenta, costruirai dei codici del tipo:
XXFB00XX per i bulloni,
XXFD03XX per i dadi da tre pollici,
XXFD02XX per i dadi da due pollici, e così via.
A questo punto puoi fare tutti i filtraggi che vuoi sulla base della
tipologia di prodotto, selezionando la parte di codice che rappresenta
la cosa richiesta.
Il bello di questo sistema è che prevede una programmazione sempre
uguale in ogni parte del programma e nessun dato aggiuntivo.
Inoltre, i nomi dei prodotti potrebbero variare per ottime ragioni che
oggi non puoi prevedere, mentre una codifica un po' ridondante può
metterti al riparo da sorprese.
Sperando di essere utile, auguro buon lavoro.
Riccardo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ovvia ..
Signore??!!!
Bada che mi rovini la reputazione...
Ciao.
--
Sergio MAZZA

 ha scritto nel messaggio
news:af2dvq$f4q$1...@canarie.caspur.it...

grazie ragazzi vi faro sapere....

 ha scritto nel messaggio
news:af2dvq$f4q$1...@canarie.caspur.it...

Ciao, scusate la mia ignoranza sicuramente sara una c.....ata.
Allora ho aggiunto un campo nella tabella prodotti vernicianti Si/No
poi ho midificato la casella combinata IDTipoPv: query di tre colonne :
colonna 1) IDtipopv; colonna2) tipo pv ; colonna 3)Si/No
Poi su exit di questa casella combinata ho inserito:
Private Sub IDTipoPv_Exit(Cancel As Integer)
    If Me.IDTipoPv.Column(3) = "Si" Then
    Me.IDTipoCatalizzatori.Enabled = False
End If
End Sub
Ma non se lo fila per niente.....dove sbaglio?????????

Ma non se lo fila per niente.....dove sbaglio?????????
prova con 
 If Me.IDTipoPv.Column(3) = true Then
Saluti.
Emanuele.


Devi controllare l'evento "dopo aggiornamento" della casella di combinata e
non dovrebbe servire neanche l'if se fai così:
Es.
'---------------
Private Sub IDTipoPv_AfterUpdate()
Me!IDTipoCatalizzatori.Enabled = Me.IDTipoPv.Column(3)
End Sub
'---------------
accertati che nelle proprietà della casella sia impostato il numero giusto
di colonne (pari a quanti campi hai inserito nella query)...
Ciao.
--
Sergio MAZZA

 ha scritto nel messaggio
news:af92se$4mv$1...@canarie.caspur.it...

Le colonne sono 3 (ID;TipoPV;Si/No); la colonna associata e' la prima;
larghezza colonne: 0cm;6cm;1cm.
Ho provato il tuo suggerimento ma mi da errore di compilazione: utilizzo di
Null non valido.
Che sara' ???????????

 ha scritto nel messaggio
news:2fvfhu0o2q81t8n75...@4ax.com...

Si ho gia' provato ma e' come se non leggesse la query...
Non so..........

 ha scritto nel messaggio
news:epVR8.125506$g04....@tornado.fastwebnet.it...

                                R I S O L TA!!!!!!!!!!!!!!!!!
mETTENDO LA LARGHEZZA DELLA PRIMA COLANNA A ZERO E' COME SE INVECE DI 3
COLONNE CE NE SONO SOLO 2; PER CUI...
Private Sub IDTipoConto_Exit(Cancel As Integer)
If Me.IDTipoConto.Column(2) = True Then
    Me.IDTipoCatalizzatori.Enabled = False
End If
If Me.IDTipoConto.Column(2) = False Then
    Me.IDTipoCatalizzatori.Enabled = True
Me.IDTipoConto.Requery
End If
End Sub
GRAZIE PER IL VOSTRO SUPPORTO....

 ha scritto nel messaggio
news:af92se$4mv$1...@canarie.caspur.it...

                                R I S O L TA!!!!!!!!!!!!!!!!!
mETTENDO LA LARGHEZZA DELLA PRIMA COLANNA A ZERO E' COME SE INVECE DI 3
COLONNE CE NE SONO SOLO 2; PER CUI...
Private Sub IDTipoConto_Exit(Cancel As Integer)
If Me.IDTipoConto.Column(2) = True Then
    Me.IDTipoCatalizzatori.Enabled = False
End If


 ha scritto nel messaggio
news:2fvfhu0o2q81t8n75...@4ax.com...

                                R I S O L TA!!!!!!!!!!!!!!!!!
mETTENDO LA LARGHEZZA DELLA PRIMA COLANNA A ZERO E' COME SE INVECE DI 3
COLONNE CE NE SONO SOLO 2; PER CUI...
Private Sub IDTipoConto_Exit(Cancel As Integer)
If Me.IDTipoConto.Column(2) = True Then
    Me.IDTipoCatalizzatori.Enabled = False
End If


 ha scritto nel messaggio
news:af92se$4mv$1...@canarie.caspur.it...

                        Piccola Variante.
Mi sono accorto che se dovessi scegliere un monocomponente e dovessi
riempite la casella dei catalizzatori; nel momento in cui dovessi ripensarci
e scegliere un bicomponente mi "congelerebbe" il dato del catalizzatore nel
campo non piu' abilitato; quindi: va svuotato.
Me.IDTipoConto.Requery
If Me.IDTipoConto.Column(2) = True Then
    Me.IDTipoCatalizzatori.Enabled = False
End If
Me.IDTipoCatalizzatori = ""
If Me.IDTipoConto.Column(2) = False Then
    Me.IDTipoCatalizzatori.Enabled = True
End If
End Sub

 ha scritto nel messaggio
news:2fvfhu0o2q81t8n75...@4ax.com...

piccola variante:
Me.IDTipoConto.Requery
If Me.IDTipoConto.Column(2) = True Then
    Me.IDTipoCatalizzatori.Enabled = False
End If


COLONNE CE NE SONO SOLO 2; PER CUI...
non è forse invece che la numerazione delle colonne parte da zero
invece che da 1?
leggi bene l'help
Saluti.
Emanuele.