Newsgroup: it.comp.appl.access
Titolo: Consentire solo caratteri in un campo

Ciao :)
Ho un campo Nome. Vorrei che fosse possibile l'inserimento dei soli
caratteri letterali maiuscoli o minuscoli, e che il primo carattere fosse
sempre maiuscolo e gli altri vengano eventualmente messi in minuscolo.
Sto provando varie funzioni ma non ci riesco.
Come posso fare?
Grazie!
-- 
Non lo capiscono, i grandi, che il mondo dei giovani č un mondo fragile.
E' come un paese in guerra permanente, in cui tutti vogliono avere
ragione. E nel quale veniamo spesso lasciati da soli.
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Prima imposti a ?????????????????? la inputmask del controllo.
Ovviamente un ? per ogni carattere previsto.
Poi in afterupdate metti me.controllo=strconv(me.controllo,3)
Cia'
Max

 Max
Non mi funzionano le procedure guidate perciň la Maschera di input del
campo non posso usarla. Devo fare tutto a mano.
Eppoi la funzione che mi hai descritto che fa?
A quanto sembra converte in stringa un qualcosa...e quel 3 che fa?
E l'evento afterupdate?
Al VB ancora non sono arrivato :(


Ah, ecco.
Non servono procedure guidate: nella finestrella delle proprieta' del
controllo c'e' una proprieta' "inputmask" o "maschera di input", li'
dentro ci butti dentro la sfilza di punti di domanda, digitandoli
direttamente senza procedure guidate (IMHO sono fastidiose, limitanti e
se le usi non impari uno zufolo. Il mio consiglio e' evitarle, al
massimo usarle una volta per vedere che codice VBA creano),
Da questo punto in poi e' tutto presente nell'help di VBA, impara a
usarlo, sara' il tuo migliore amico per i primi tempi:
L'evento afterupdate ha luogo quando esci da un controllo dopo averne
modificato il valore.
Me. e' un riferimento all'oggetto attivo (la maschera)
strconv e' una funzione che converte una stringa da maiuscolo a
minuscolo o viceversa.
3 e' un parametro che dice di convertire la stringa in modo che sia
tutto minuscolo tranne le iniziali di ogni parola.
In pratica hai detto:
"Quando viene aggiornato il controllo X: assegna al controllo X il
valore della funzione STRCONV applicata ai parametri (valore del
controllo X, 3)"
Cia'
Max

 Max
Okkei, ti ringrazio. Ma per consentire solo caratteri letterali [A - Z] e
[a - z] che devo fare?
Perchè in quel modo qualcuno potrebbe scrivere Anto3nio2 senza ottenere
alcun errore.
Grazie ancora!
-- 
Non lo capiscono, i grandi, che il mondo dei giovani è un mondo fragile.


Ciao, ho appena fatto quanto mi hai detto ma ho ottenuto un errore:
L'espressione Dopo aggiornamento immessa come impostazione della proprietà
di evento ha provocato il seguente errore: La dichiarazione della routine
non corrisponde alla descrizione dell'evento o della routine con lo stesso
nome. ecc...ecc...
Che vuol dire??
Io ho una maschera con un controllo txtNomeUtente associato al campo Nome
della tabella tblUtenti.
Nell'evento afterupdate ho inserito il seg. codice
Me.txtNomeUtente=strconv(Me.txtNomeUtente,3)
m dopo aver inserito il nome mi appare quell'errore. Il bello è così anche
l'evento associato al tasto Click non funziona più!
Che succede?
-- 
Non lo capiscono, i grandi, che il mondo dei giovani è un mondo fragile.


Mah... a me no... se io imposto ??? come inputmask mi fa inserire solo
caratteri letterali... i numeri me li ignora bellamente...
Che versione usi? Io qui in ufficio ho A2003 su WinXP pro...
a casa stasera provo (A2K su W2K), ma credo che sia uguale
Cia'
Max

Nonono, non funziona cosi'.
QUando entri nella casellina dell'evento sulla destra appare il
pulsante con i tre puntini dell'autocomposizione.
Se lo premi appaiono diverse opzioni: le autocomposizioni dei criteri
(ignorale) e "generatore di codice".
Se selezioni questo ti si apre la finestra di VBA, con gia' inseriti i
predicati
Private Sub txtNomeUtente_Afterupdate()
End sub
(A seconda delle tue impostazioni potrebbe aprirsi direttamente
l'editor VBA, senza darti possibilita' di scegliere le
autocomposizioni)
Il codice che ti ho dato lo devi inserire (ovviamente) prima di end
sub.
Nella casellina afterupdate comparira' (routine evento).
Perche' tutto questo caos? Perche' nella casella afterupdate potresti
anche scriverci direttamente il nome di una macro da eseguire (E
infatti Axx ha cercato una macro con nome "me.txnomeutente"ecc, non
l'ha trovata e ti ha dato un erroraccio)
Cia'
Max

 Max
Anche io uso Access 2003 su WinXP. Ho un mare di problemi e non capisco il
perchè. Forse perchè avevo disabilitato un mare di servizi inutili di XP e
questo ha forse compromesso la completa funzionalità dell'ambiente
operativo.


Capitooooooooooooooooooo!
Infatti ora funziona! Non capivo come mai dopo aver digitato me. nno mi
compariva l'elenco a discesa.
Ora funziona!
Grazieeeeeeee :)
P.S. Come posso evitare di far comparire la riga nella casella dove
l'utente inserirà il nome? Mi appare perchè ho specificato una maschera di
input.
Grazie ancora!!!!!!
