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)