Newsgroup: it.comp.appl.access
Titolo: Chiaritemi un dubbio (facile)

Salve al NG
Esaminiamo le due Sub che seguono (è solo un esempio)
Private Sub txtEuro_AfterUpdate()
    txtLire = Format(txtEuro.Text * 1926.37, "#,#")
End Sub
Private Sub txtLire_AfterUpdate()
    txtEuro = Format(txtLire.Text / 1926.37, "#,#.#0")
End Sub
Funzionano perfettamente, nel senso che i relativi controlli TextBox si
aggiornano reciprocamente.
Quello che non mi è chiaro è questo. All'inizio il codice che scrivevo era:
Private Sub txtEuro_AfterUpdate()
    txtLire.Text = Format(txtEuro.Text * 1926.37, "#,#")
End Sub
Private Sub txtLire_AfterUpdate()
    txtEuro.Text = Format(txtLire.Text / 1926.37, "#,#.#0")
End Sub
ma ottenevo un messaggio di errore perché non si può accedere ad una
proprietà o a un metodo di un controllo se questo non ha il focus.
Allora, a via di tentativi, ho scritto il codice nell'altra forma.
PERO' a questo punto non capisco a che cosa ho assegnato la stringa. Al
controllo? E si può fare? Cioè visto che l'output di una TextBox è la
proprietà Text dove va a mettersi, in senso figurato, la stringa? E un
controllo può ricevere una assegnazione così, direttamente?
Boh, temo di avere un po' di confusione in testa.
Grazie a chi mi aiuta.
Filippo

 controllo puņ ricevere una assegnazione cosģ, direttamente?
Sģ č facile, cosģ facile che ti riporto un pezzo della guida di Access:
"Nota   Per impostare o restituire la proprietą Text di un controllo, č
necessario che il controllo possieda lo stato attivo o che si verifichi un
errore. Per far in modo che il controllo abbia lo stato attivo, č possibile
utilizzare il metodo SetFocus o l'azione VaiAControllo."
e questo ti chiarisce perché se mettevi .Text non funzionava (il focus era
senz'altro sull'altro controllo).
X quanto riguarda lo sconcerto, ti riporto un altro pezzo dell'help sulla
proprietą Value:
"Controlli Casella di testo. Determina o specifica il testo contenuto nella
casella di testo.
...
La proprietą Text restituisce la stringa formattata. La proprietą Text
potrebbe essere diversa dalla proprietą Value per un controllo Casella di
testo. La proprietą Text č il contenuto corrente del controllo. La proprietą
Value č il valore salvato del controllo Casella di testo. La proprietą Text
č sempre corrente mentre il controllo ha lo stato attivo."
e, x finire:
"Osservazioni
La proprietą Value restituisce o imposta una proprietą predefinita del
controllo, che č la proprietą corrente quando non viene specificato
esplicitamente un nome di proprietą. Nell'esempio riportato di seguito,
poiché il valore predefinito della casella di testo č il valore della
proprietą Text, č possibile fare riferimento all'impostazione della relativa
proprietą Text senza specificare esplicitamente il nome della proprietą
stessa.
Forms!frmClienti!txtCognome = "Rossi"
Ciņ significa che le due istruzioni seguenti sono equivalenti.
Forms!frmClienti!opzCreditoApprovato.Value = True
Forms!frmClienti!opzCreditoApprovato = True
Nota   La proprietą Value non č uguale alla proprietą ValorePredefinito, che
specifica il valore assegnato a una proprietą con la creazione di un nuovo
record."
Quindi quando non specifichi, in realtą, stai usando la proprietą Value.
--
Silvio
il sito comune di it.comp.appl.access:
http://www.sitocomune.com