Quando si usa la proprietà "value"

di il
4 risposte

Quando si usa la proprietà "value"

Buongiorno a tutti,
sicuramente la domanda sarà banale ma non riesco a dare una risposta certa a questo mio dubbio ...
Supponiamo di avere due caselle di testo anche in una stessa maschera (l'esempio è banale ma è per semplicità..), e di voler copiare il testo da una casella ad un'altra con un click

Associo quindi all'evento click del button quale dei tre codici? E quando è necessario mettere la proprietà value?

Me!txtCasella1 = Me!txtCasella2
oppure
Me!txtCasella1.value = Me!txtCasella2.value
oppure
Me!txtCasella1.value = Me!txtCasella2

ovviamente la stessa cosa vale per un cbo.
grazie a tutti

4 Risposte

  • Re: Quando si usa la proprietà "value"

    Scrivendo .Value dai una descrizione completa ed esplicita senza ombra di dubbio.
    Omettendo .Value il codice considera ugualmente il valore incluso dentro la casella di testo.
    Di fatto (credo) non c'è molta differenza e ottieni lo stesso risultato.
  • Re: Quando si usa la proprietà "value"

    vincoll ha scritto:


    ...
    Supponiamo di avere due caselle di testo anche in una stessa maschera (l'esempio è banale ma è per semplicità..), e di voler copiare il testo da una casella ad un'altra con un click

    Associo quindi all'evento click del button quale dei tre codici? E quando è necessario mettere la proprietà value?

    Me!txtCasella1 = Me!txtCasella2
    oppure
    Me!txtCasella1.value = Me!txtCasella2.value
    oppure
    Me!txtCasella1.value = Me!txtCasella2
    Intervengo solo per la parte che riguarda le caselle di testo, non le combobox.
    Hai provato a vedere cosa succede usando le 3 diverse versioni del codice?
    Se non vado errato... non cambia niente.
    Il tutto perché la proprietà predefinita della textbox è Value (salvo manovre particolari sul codice con moduli di classe ecc, credo), quindi nel momento in cui scrivi
    Me!txtCasella1 = Me!txtCasella2
    vba integra implicitamente con la proprietà di default come se il codice fosse
    Me!txtCasella1.Value = Me!txtCasella2.Value
    Qui si tratta di una "scelta di stile". Per scrivere meno (alla fine è tutto lì) si può omettere l'indicazione della proprietà predefinita, consapevoli però che in alcune situazioni molto particolari (vedi sopra) questa potrebbe non essere quella "classica", anche se richiede un intervento "consapevole" da parte di qualche programmatore. Ma a volte il codice viene modificato nel corso del tempo da soggetti diversi.
    Usare la sintassi completa evita ogni pericolo e, se si guarda l'aspetto "tempo di digitazione", solitamente l'intellisense aiuta molto.
    Aneddoto: chi viene da Visual Basic spesso cozza contro .Value della textbox in vba mentre è abituato ad usare .Text (che esiste anche in vba ma ha un uso differente)
  • Re: Quando si usa la proprietà "value"

    Grazie ragazzi. Il mio dubbio nasceva proprio dal fatto che indipendentemente dall'inserire .value o no, funzionava lo stesso. Ma volevo la benedizione da voi esperti.
    Alla prossima e grazie sempre
  • Re: Quando si usa la proprietà "value"

    La risposta alla domanda in Oggetto è "SEMPRE"...

    [Value] è la Default Property esposta dal controllo DataBound, quindi per completezza del codice credo sia meglio usarla in modo ESPLICITO.
Devi accedere o registrarti per scrivere nel forum
4 risposte