Newsgroup: it.comp.appl.access
Titolo: Disattivare un pulsante se il record è vuoto

Salve a tutti!
Ho cercato nel gruppo la risposta al mio problema ma non ho trovato
niente di funzionante. Ora vi spiego.
Ho una maschera che mostra dei record presi da più tabelle. In questa
maschera ho una sottomaschera che elenca dei record presi
esclusivamente da una tabella "Norme". Ho aggiunto dei pulsanti a
questa sottomaschera per l'aggiunta, l'eliminazione e la modifica di un
record relativo alla sola tabella "Norme". Inoltre ho un pulsante che
consente l'aggiunta di un collegamento OLE e un'ulteriore pulsante per
visualizzare il documento collegato.
Vorrei che questo ultimo pulsante che mi visualizza il documento sia
disabilitato nel caso in cui non esista un collegamento.
Visto che il collegamento è memorizzato in un campo "Collegamento"
della tabella "Norme"  ho pensato di usare il comando Dcount.
Però non riesco a capire su che evento devo eseguire il comando:
all'apertura della sottomaschera?
Grazie infinite a chiunque mi sarà d'aiuto!
Matteo


Fermo restando che non sono d'accordo con alcune tue scelte (tipo il campo 
OLE)
credo di aver capito che a te serve l'evento current
-- 
-- 
Massimiliano Amendola
www.accessgroup.it
Il sito italiano di svilupatori Access
www.donkarl.com/it/cisa
 

 ha scritto nel messaggio 
news:1161635746.6...@h48g2000cwc.googlegroups.com...

[risposta]
Credo di aver capito la domanda ma non ne sono sicuro comunqe io uso 
un'altro sistema:
if isnull (tuocollegamento) then
tuopulsante.visible=false
else
tuopulsante.visible=false
end if
al posto di visible puoi usare anche enabled o looked
l'evento lo puoi mettere in uscita di un campo oppure crei un pulsante 
specifico o come dice MA nel form current o load.
Saluti Andrea 

Come impostereste voi il problema invece?
Mi serve solo un pulsante per ogni record che, una volta cliccato, mi
apra un documento collegato. Se il collegamento non esiste il pulsante
deve essere disabilitato.
Per quanto riguarda il consiglio di Andrea, la funzione IsNull funziona
fin troppo bene. I pulsanti si disabilitano tutti. Non riesce a
distinguere il record con il campo "collegamento" vuoto e il campo non
vuoto. Ho provato a mettere l'evento in load e current

 typed:

ciao,
se hai maschere continue non puoi gestire
in modo diverso il pulsante attualmente collocato
nel corpo maschera.
In questi casi il pulsante puo' venire collocato
nel pie' di maschera ecome ti hanno gia' suggerito
puoi abilitarlo\disabilitarlo sull'evento SuCorrente.
E' anche gradevole da vedersi e forse ( IMHO)
tiene la maschera piu' leggera visivamente.
Se invece vuoi dare una visibilità immediata
al record che contiene il collegamento puoi
ricorrere alla formattazione condizionale se usi
access dalla versione 2k in su.
--
Lorenzo

Quindi non c'è modo di sapere se un campo in particolare della tabella
è pieno o vuoto?

 è pieno o vuoto?
Intendi su una maschera continua e vedere a colpo d'occhio
i record con e senza collegamento ?
Si, c'e'. La formattazione condizionale.
Poi puoi anche simulare un pulsante, su click
lanci l'apertura del documento del record corrente.
--
Lorenzo

Giusto non ci avevo pensato di simulare un pulsante.
Dopo cena provo così!
Grazie 1000

Lorenzo(pyx) ha scritto:

Un'ultima cosa: come faccio a imporre la condizione nella formattazione
condizionale "diverso da:" campo vuoto. Come mi riconosce il campo
pieno o vuoto?

 typed:

Potresti provare con:
    Nz([NomeCampo],"")<>""
Sono tutti doppi apici ripetuti due volte,
In questo modo intercetti sia un valore Null
che una stringa vuota.
--
Lorenzo

    Nz([NomeCampo],"")<>""
Ehm, gia'
Sostituisci il separatore virgola con il punto e virgola
Nz([NomeCampo];"")<>""

Grazie Lorenzo, ora va benissimo!!
Devo solo aggiustare un po' la visualizzazione del pulsante!
Ciao grazie a tutti!

Un'ultima cosa...
Quando allego il documento a un record che non l'aveva, la
formattazione condizionale non mi riconosce la modifica pertanto non è
ancora abilitato l'evento di apertura.
Come posso risolverla senza dover chiudere e riaprire la maschera?

 Un'ultima cosa...
?

Se modifichi il record direttamente dalla maschera,
l'effetto della formattazione condizionale deve scattare nel
momento stesso in cui il record viene aggiornato.
Ovvero quando sparisce il simbolo della matitina sulla sinistra,
in pratica se passi per esempio al record precedente o successivo.
Ci sono dei sistemi per forzare il *Recalc*, *Refresh* o *Requery*
della maschera ma non dovresti averne bisogno.
--
Lorenzo

Ok capito.
Grazie di nuovo del tuo prezioso supporto!
Ciao

 ha scritto nel messaggio 
news:1161707466.4...@m7g2000cwm.googlegroups.com...

La mia soluzione è valida per maschere singole, per le maschere continue ci 
sono altre soluzioni come ti hanno già suggerito.
Saluti Andrea