Condividi tramite

Disabilitare casella di testo se nel campo non viene immesso alcun valore/Access 2003

Anonimo
2012-08-13T16:22:25+00:00

Ciao a tutti!

Dopo che mi avete aiutato a risolvere il problema che avevo con la casella di riepilogo (grazie ancora), ora devo sottoporvi un altro quesito sempre relativo ad access 2003:

Come posso disabilitare una casella di testo solo se nel campo non viene immesso alcun valore?

Ho provato così ma non funziona (non mi dà nessun errore, ma nemmeno mi restituisce il risultato voluto):

Private Sub Nome Cartella_After Update()

If Nome Cartella.value = 0 Then

Nome Cartella.Enable = True

Else

Nome Cartella.Enable = False

End if

End Sub


Dove "Nome Cartella" è il nome della casella di testo che voglio disabilitare solo se non viene immesso alcun valore.

Dov'è che sbaglio?

Grazie.

Marta

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2012-08-14T09:17:54+00:00

Ciao Marta,

tutti i controlli il cui nome contiene uno spazio, vengono gestiti da Access con un underscore al posto dello spazio, infatti se tu ti fai guidare da Intellisense e provi a scrivere nel modulo VBA

Me.  si aprirà una tendina e tra i vari elementi troverai Nome_Cartella, quindi nel codice quando ti riferisci a quel controllo devi usare Nome_cartella.

Per evitare questi fraintendimenti è sempre meglio evitare gli spazi nei nomi dei controlli, e personalmente aggiungerei anche nei nomi dei campi (ma questa è una mia opinione personale)

La risposta è stata utile?

0 commenti Nessun commento

4 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2012-08-14T09:31:38+00:00

    Grande Cinzia,

    non perdi un colpo neanche con il solleone (termine desueto, lo so...) :o)

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2012-08-14T09:21:34+00:00

    Non sono un esperto di VBA, forse ti serve qualcosa del genere...  

    If (IsNull(Forms!M1!NomeCartella)) Then

            DoCmd.SetProperty "nomecartella", acPropertyEnabled, "no"

        End If

    End sub

    M1 è il nome della maschera dove sta in controllo

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2012-08-14T08:38:28+00:00

    Ciao!

    Ho provato con

    If Nome Cartella.value=""

    Ma VBA mi dà il seguente errore di compilazione:

    "Previsto: Then oppure Go To".

    Se metto

    Nome_Cartella.value=""

    non mi dà nessun errore, ma non funziona.

    La mia casella di testo si chiama Nome Cartella: forse non dovrei denominarla staccata, ma piuttosto Nome_Cartella o NomeCartella?

    Il codice di cui sopra lo devo forse associare anche alla maschera in current:

    Private Sub_Form_Current()

    etc...?

    Grazie dell'aiuto

    Marta

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2012-08-14T07:21:30+00:00

    Hai provato con

    If NomeCartella.value=""

    ?

    La risposta è stata utile?

    0 commenti Nessun commento