Newsgroup: it.comp.appl.access
Titolo: problemi con setfocus

Non mi è chiara sooolo una cosa ho impostato sull'evento afterupdate di 
una textbox il setfocus prima su un'altra casella e poi il setfocus 
sulla casella dove c'è l'evento.
La cosa che non mi spiego è perchè se faccio il setfocus su una casella 
su cui non ho agito io mi evidenzia il testo contenuto, mentre nella 
casella a seguito dell'evento afterUpdate non solo non mi evidenzia il 
testo ma non posso usare il tasto canc per cancellare il testo, devo 
prima inserire qualcosa e poi cancellare (il cursdore lampeggia ma è 
cvome se in realtà la casella non fosse attiva.)
se mi sposto con i tsti freccia avanti e indietro mi seleziona il testo 
contenuto.
C'è un modo per uscire dall'empasse?

 wrote in message 3F304FB6...@libero.it...

Onestamente non è che abbia capito bene il tuo problema, ma per selezionare
da codice VBA una parte o tutto il testo di una casella di testo attiva
prova ad usare le Proprietà SelLength e SelStart (vedi help).
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


In pratica io tramite setfocus "ritorno" sulla casella di testo ma non 
mi seleziona il testo contenuto nella txt.
(se provi con il setfocus a spostarti da una casella ad un'altra con del 
testo contenuto, automaticamente mi seleziona il testo).
con sellenght ho provato ma comunque non mi seleziona il testo.
Il cursore lampeggia all'inizio del testo ma se premo canc ad esempio 
non mi cancella il tersto.
Puoi provare in una mascherea con due caselle di testo associando il 
setfocus sull'evento afterupdate di una.
Tutto stò casino mi servirebbe xchè con la pistola per i codici a barre 
vorrei sparare il codice e fare in modo che mi ritorni sul testo dove 
c'è il codice inserito, selezionandolo in modo che se risparo non devo 
premere nulla e lui automaticamente mi sostituisce il codice.
Grazie cmq

 wrote in message 3F314BC5...@libero.it...

Il comportamento che hai non è spiegabile; per me è inspiegabile che
intervenendo sulle proprietà SelStart e SelLength tu non riesca a
selezionare il testo della casella di testo attiva.


 
Private Sub txtCodice_EAN_AfterUpdate()
Dim rs, rst As Recordset, pre As Recordset, que As Recordset
Dim sqlstr As String
Dim datastr As String
Dim valore As Integer
Dim qryvisart As QueryDef
If IsNull(txtCodice_EAN.Value) Or txtCodice_EAN.Value = "" Then Exit Sub
     sqlstr = "[Codice_EAN]= '" & CStr(txtCodice_EAN.Value) & "' "
....
txtvia.SetFocus
txtCodice_EAN.SetFocus
End Sub
Dal codice sopra io sparo il Codice_EAN, facci setfocus prima su una 
casella di testo (txtvia) e poi sefocus su txtCodice_EAN.
Il cursore ritorna su txtCodice_EAN ma:
1 il codice non è selezionato;
2 se premo il tasto canc non mi cancella il numero (il cursore è 
all'inizio della casella, allineamento testo a sinistra). Però, posso 
inserire dei caratteri.
sull'evento got_focus della txtCodice_EAN
ho anche provato ad inserire
txtCodice_EAN.SelLength = 10
e
txtCodice_EAN.SelStart =10
per selezionare tutto il codice ma non funziona.
Ri_saluti sperando di essermi finalmente spiegato

 wrote in message 3F33455...@libero.it...

Se la stringa contenuta in txtCodice_EAN è lunga 10 caratteri con
txtCodice_EAN.SelStart =10
sposti il cursore dopo l'ultima cifra senza selezionare nulla, e non mi
sembra che volessi fare questo.
Prova così:
txtCodice_EAN.SelStart = 0
txtCodice_EAN.SelLength = Len(txtCodice_EAN)



Scusa il 10 in selstart era un refuso.
Comunque ho anche provato a fare come mi hai suggerito ma continua  a 
fare lo stesso.
Pazienza