Newsgroup: it.comp.appl.access
Titolo: Casella di imput personalizzata

Ciao a tutti, Ho una tabella di missioni effettuate dove oltre all'ID
del record viene inserito un numero missione composto da un numero
fisso (01) e dalle ultime due cifre dell'anno corrente(09) seguite da
un numero incrementale (es:01091 , 01092 e così via). Vorrei creare
una casella di ricerca dove in maniera automatica venissero
visualizzate le prime 4 cifre in questa maniera 01/09/ in modo da
poter inserire solo il numero incrementale della missione per poter
ricercare il record senza dover inserire il numero fisso e le ultime
due cifre dell'anno facendo anche in modo che il cursore si posizioni
dopo dopo la seconda barra (01/01/cursore): Sperando di essere stato
chiare ringrazio chiunque potrà aiutarmi. Ciao ciao

 ha scritto nel messaggio 
news:631ccbe1-1f9e-48b1...@u14g2000yqg.googlegroups.com...

sull'evento che desideri
=Left([numero];2) & "/" & Mid([numero];3;2) & "/"
per posizionare il cursore in fondo
Me!MioControllo.SelStart = Len("" & Me!MioControllo)
Ciao
-- 
Roberto da Parma 

 Roberto da Parma
[risposta]
Grazie Roberto per la risposta. Ho provato il tuo codice ma mi sono
trovato in difficolta' a fare cio' che desidero. Mi spiego meglio: la
prima difficolta' l'ho incontrata nel visualizzare il numero di
servizio formattato come tu mi hai detto in una maschera continua,
cioe' in una maschera ho visualizzato un gruppo di record ma
francamente non sono riuscito a capire dove immettere il codice per
fare in modo che il numero (ad esempio) 01091245 si visualizzi in
01/09/1245. seconda cosa ho provato a fare delle ricerche di record
mettendo il tuo codice su click della casella di testo, tutto si
visualizza come dici tu ( 01/09/ ) ma inserendo il numero incrementale
e filtrando la query con la casella di testo non mi viene restituito
nessun record.Ultima cosa come si puo' fare affinche' le ultime due
cifre dell'anno vengano visualizzate automaticamente nella casella di
ricerca ( se 2009 si deve vedere 01/09/; il prossimo anno 01/10/ ecc.
ecc.)? ciao e grazie per la pazienza.

 ha scritto nel messaggio 
news:7cb4c9eb-69f0-4d1f...@s20g2000yqh.googlegroups.com...

Sergio però devi fare un pò di distinzioni .... o parliamo di campi testo o 
campi data o di formattazione oppure ancora di generazione di numeri...
Se devi formattarlo.... Format([tuocampo];"00/00/0000")
Su attivato
Me!MioControllo.SelStart = Len("" & Me!MioControllo)
Per le altre domande non puoi pensare di gestire un testo come una data....
Se comunque il tuo è un campo testo puoi sempre usare le funzioni right, 
left, mid ....


 Roberto da Parma
[risposta]
Grazie roberto per la pazienza e dalla tua risposta ho capito di
essermi espresso in maniera confusa e ora provo ad essere piu' chiaro.
In una tabella ho un'infinita' di record ed ad ogni record e'
assegnato un "numero missione" composto da 01/ seguito dalle ultime
due cifre dell'anno (es. 09 per il 2009) seguite da una barretta ( / )
e quindi un numero incrementale. questi dati sono assegnati da un
altro programma ed io ho accesso alle sole tabelle. In un programma
"parallelo" ho la necessita' di fare delle ricerche su queste missioni
per modificarle se necessario usando come campo di ricerca appunto
questo numero missione. Quello che vorrei e' poter , tramite una
casella di testo , filtrare una query che mi restituisse la missione
ricercata. Per comodita' vorrei che in questa casella di testo
"comparisse" 01/09/ ( quest'anno ) oppure 01/10/ (il prossimo anno) e
così via in modo da dover inserire solamente il numero incrementale e
che una volta inserito il "solo" numero incrementale questa casella mi
filtri la query.( il numero missione e' di tipo testo) . La maschera
che filtra il numero missione l'ho gia' sviluppata ma sono costretto
ad inserire ogni volta il numero completo della missione (010912365),
quello che desidero invece e' poter inserire il solo numero
incrementale. ciao e grazie per la pazienza.

 Roberto da Parma
[risposta]
Grazie roberto per la pazienza e dalla tua risposta ho capito di
essermi espresso in maniera confusa e ora provo ad essere piu' chiaro.
In una tabella ho un'infinita' di record ed ad ogni record e'
assegnato un "numero missione" composto da 01/ seguito dalle ultime
due cifre dell'anno (es. 09 per il 2009) seguite da una barretta ( / )
e quindi un numero incrementale. questi dati sono assegnati da un
altro programma ed io ho accesso alle sole tabelle. In un programma
"parallelo" ho la necessita' di fare delle ricerche su queste missioni
per modificarle se necessario usando come campo di ricerca appunto
questo numero missione. Quello che vorrei e' poter , tramite una
casella di testo , filtrare una query che mi restituisse la missione
ricercata. Per comodita' vorrei che in questa casella di testo
"comparisse" 01/09/ ( quest'anno ) oppure 01/10/ (il prossimo anno) e
cosě via in modo da dover inserire solamente il numero incrementale e
che una volta inserito il "solo" numero incrementale questa casella mi
filtri la query.( il numero missione e' di tipo testo) . La maschera
che filtra il numero missione l'ho gia' sviluppata ma sono costretto
ad inserire ogni volta il numero completo della missione (010912365),
quello che desidero invece e' poter inserire il solo numero
incrementale. ciao e grazie per la pazienza.
Ok Sergio, ti sei spiegato bene, ora tenendo conto che il valore del campo a 
tutti gli effetti č
010912365 e non 01/09/12365 dobbiamo tenere in considerazione che noi in 
teoria dovremmo per fare la ricerca inserire il dato come
nel primo formato altrimenti non troveremmo mai niente...
Nella maschera ricerca a questo punto ti consiglierei un'altra cosa piů 
funzionale e piů sicura.
farei tre caselle di testo (di cui le prime due .enable = false) nella terza 
inserisci solo il numero incrementale nel formato 00000
perciň avrai
                        |casella di testo1|          |etichetta|    |casella 
di testo2 |     |etichetta|     |casella di testo3 |
 con valore             ="01"                      "/" 
=Year(Date())            "/"                 =[tuocampo]
e una casella ricerca (nascosta) che ha come valore =[casella di tessto1] & 
[casella di testo2] & [casella di testo3]
Sull'evento dopo aggiornamento della casella di testo3
esegui la query es.
currentdb.execute "SELECT ..... WHERE tuocampo=" & me.ricerca



[risposta]
Grazie Roberto, la tua idea di fare 3 caselle è funzionale oltreche'
utile. ho provato la tua soluzione e funziona tutto e finalmente
potro' concludere il mio lavoro. Ti ringrazio tanto anche per la
pazienza dimostrata, ciao e grazie ancora. sergio