[MS Access] CONDIZIONE CHE CAMBIA PROPRIETA' DI UNA CONTROLLO

RATTS71

Nuovo Utente
12 Mar 2018
21
0
1
48
Ciao a tutti. Vorrei sapere com'e' il codice che serve per poter cambiare le proprieta' di un controllo al verificarsi di una condizione. Nel mio caso ho una maschera con una combobox e un pulsante che vorrei fare apparire o sparire a seconda del valore che assume la combo. I controlli sono nella stessa maschera.
Io ho provato con questo semplice codice ma qualcosa non va

If Me!txtrateizzato.Text = "SI" Then
Me!Comando20.Visible = True
Else
Me!Comando20.Visible = False
End If
 

CarlettoFed

Utente Attivo
17 Lug 2017
82
1
8
67
Dici che hai una combobox e un pulsante poi imposti la condizione sul controllo txtrateizzato, che penso sia un controllo testo, credo ci sia qualche cosa che non va.
 

RATTS71

Nuovo Utente
12 Mar 2018
21
0
1
48
effettivamente ho copiato il codice sbagliato. In quel codice siccomenon funzionava niente avevo costruito una textbox che prendeva il valore si o no dalla combo
 

CarlettoFed

Utente Attivo
17 Lug 2017
82
1
8
67
Quindi ora riesci ha visualizzare o nascondere il pulsante?
Se non riesci dovresti dire quale controllo condiziona la visualizzazione o meno del pulsante.
 

RATTS71

Nuovo Utente
12 Mar 2018
21
0
1
48
no, non funziona. Praticamente quello che vorrei ottenere all'interno della stessa maschera e' la seguente condizione:
non uso il controllo combo perche' ho letto da qualche parte che alla riapertura resituisce sempre valore False. Quindi uso la combo per memorizzare il valore SI o NO in un campo di testo. Nella maschera c'e' anche un pulsante che apre una specifica maschera. Il pulsante in questione deve essere visibile se la casella di testo contiene il valore SI mentre deve sparire se contiene valore NO. La casella di testo si chiama txtrateizzato mentre il pulsante si chiama Comando20
 

CarlettoFed

Utente Attivo
17 Lug 2017
82
1
8
67
Intanto non è vero che un controllo combo alla riapertura della maschera restituisce sempre valore False.
Dovresti chiarire i seguenti dubbi:
  • la maschera, tramite la proprietà Origne record, è aggangiata ad una tabella o query
  • che controlli ci sono nella maschera
  • i controlli tramite la proprietà Origne controllo sono aggangiati ad un campo della relativa Origne record
  • la combo che Tipo origine riga e che Origine riga ha
comunque per risolvere il problema il codice, assegnato all'evento Dopo aggiornamento del controllo combo, dovrebbe essere il seguente :
Codice:
Private Sub NomeControllo_AfterUpdate()
    If Me.NomeCombo = "SI" Then
        Me!Comando20.Visible = True
    Else
        Me!Comando20.Visible = False
    End If
End Sub
 
Ultima modifica di un moderatore:

RATTS71

Nuovo Utente
12 Mar 2018
21
0
1
48
Perfetto adesso funziona !! Grazie per l'aiuto.
Praticamente l'errore del mio codice era nella prima riga di comando invece di scrivere correttamente: If Me.NomeControllo io avevo scritto If Me!NomeControllo
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.237
322
83
@CarlettoFed
Devi scrivere il codice con il suo tag!!!!!!