Newsgroup: it.comp.appl.access
Titolo: è possibile disattivare un cntrll su un report?

Ciao sono sempre io ... Vorrei sapere se si può rendere non visibile un
controllo su un report se e soltanto se il campo a cui è associato il
controllo è vuoto. Io non so se sono stata chiara ma ho provato così ed
ovviamente non funziona
Private Sub Report_Open(Cancel As Integer)
If IsNull(Me.campo1) Then
Me.campo1.Visible = False
End If
End Sub
In realtà volevo fare che se il campo in tbll è vuoto nel report quella voce
viene disabilitata.
Grazie a tutti per la pazienza
Marina

 wrote in message
8a8led$o0o$1...@nslave1.tin.it...

Mi bacchetto da sola ... ma ho trovato la proprietà Riducibile a Si che
quasi fa al mio caso: allora modifico la mia domanda si può disabilitare la
casella di testo (cioè l'etichetta) quando il controllo è vuoto?


Prova ad impostare la sub nell'evento pagina...
Ciao.

 casella di testo (cioè l'etichetta) quando il controllo è vuoto?
Nell'evento Su pagina e Su formattazione del report inserisci:
If IsNull([Controllo]) Then
    EtichettaControllo.Visible = False
else
    EtichettaControllo.Visible = False
end if
Ciao
RoDAgo

 Nell'evento Su pagina e Su formattazione del report inserisci:
If IsNull([Controllo]) Then
     EtichettaControllo.Visible = False
else
     EtichettaControllo.Visible = True
end if
  Ciao
   RoDAgo

    RoDAgo
Grazie, grazie, grazie, hhhgrazie hhhgrazie ... è bellissimo
Ho poi impostato nel corpo del report la proprietà espandibile a Si per
ottenere che se il campo1 è vuoto (come tu mi hai suggerito) non viene
scritto e però il campo2 sale di un rigo. Ho provato e funziona, ma va fatto
così ?
By, by
:-))
Marina
P.S. Ti avevo già ringraziato??? No? Allora grazie ancora

Perdonami l'intrapendenza, ma c'è qualcosa di simile anche per le maschere?
Mi spiego: ho creato due tbll una dove inserisco i nomi dei miei pazienti e
le richieste di quali esami andranno a fare e l'altra tabella dove inserisco
solo le analisi che questi fanno. La maschera1 associata alla tabella1 apre
con un pulsante la maschera2 associata alla tabella2. SuApertura della
maschera2 ho inserito una funzione che fa così:
Public Function MiaFunzione()
    If Forms![tabella1]!esame1.Value = True Then
       Forms!Tabella2!esame1.Visible = True
    Else
        Forms!Tabella2!esame1.Visible = False
End If
    If Forms![tabella1]!esame2.Value = True Then
        Forms!Tabella2!esame2.Visible = True
    Else
        Forms!Tabella2!esame2.Visible = False
End If
End Function
Strano a dirsi però funziona cioè il controllo esame2 non è selezionato (in
maschera1) nella maschera2 non viene visualizzato però il controllo esame3
rimane sempre giù. C'è un comando simile a quello che mi detto per il
report?
Ciao Marina

 Perdonami l'intrapendenza, ma c'è qualcosa di simile anche per le
maschere?
Hhmm, non proprio.

Nelle maschere le cose cambiano, come avrai capito le proprietà Espandibile
e Riducibile hanno significato se riferite a stampe o visualizzazioni in
anteprima.
Se ho capito il tuo obbiettivo, per ottenere lo stesso risultato nelle
maschere (l'oggetto in questione non è adatto a queste particolari esigenze)
devi utilizzare qualche trucchetto che farà rabbrividire qualche amico nel
ng.
Imposta a zero l'altezza dei controlli Esame1, Esame2 e Esame3.
Sovrapponi i tre controlli.
La tua funzione diviene:
Public Function MiaFunzione()
If Forms![Tabella1]!Esame1.Value = True Then
        Forms!Tabella2!Esame1.Height = 300  'Altezza del controllo (puoi
variarla a piacimento)
    Else
        Forms!Tabella2!Esame1.Height = 0
End If
If Forms![Tabella1]!Esame2.Value = True Then
        Forms!Tabella2!Esame2.Height = 300
        If Forms![Tabella1]!Esame1.Value = True Then
Forms!Tabella2!Esame2.Top = Forms!Tabella2!Esame2.Top + 300
    Else
        Forms!Tabella2!Esame2.Height = 0
End If
If Forms![Tabella1]!Esame3.Value = True Then
        Forms!Tabella2!Esame3.Height = 300
        If Forms![Tabella1]!Esame1.Value = True Then
Forms!Tabella2!Esame3.Top = Forms!Tabella2!Esame3.Top + 300
        If Forms![Tabella1]!Esame2.Value = True Then
Forms!Tabella2!Esame3.Top = Forms!Tabella2!Esame3.Top + 300
    Else
        Forms!Tabella2!Esame3.Height = 0
End If
End Function
Ciao RoDAgo

 ng.
Il trucchetto ha fatto rabbrividire anche me ... perchè di analisi a
disposizione ce ne sono ben 54 ... ed i crtll non li ho potuti sovrapporre
perchè l'uno non esclude l'altro, sicchè possono essere visibili anche tutti
insieme. Ma con un pò di pazienza ci riuscirò. E tu se hai tempo mi dici
qual'è l'oggetto che meglio si addice a questa esigenza?
Comunque grazie tantissimo!! Ciao
Marina :-)