Mislim da si nesto pobrkao ;-)
Input Mask te tera da uneses podatke u odredjenom formatu, na primer telefonski broj sa crticama i zagradama, na primer
(416) 248-350 a onda se to cuva u emoriji na primer kao 416248350, znaci bez crtica i zgrada. Primeti da ti kucas visak znakova, a cuva se 'ociscen' podatak.
Ono sto ti hoces jeste konverzija unosa, u tvom slucaju da kucas manje a da se sacuva vise u tabeli. Ti otkucas 23, a sacuva se 'U023'. To Input mask ne moze da uradi. Treba ti malo koda da postignes to sto zelis.
1) napisi funkciju koja konvertuje unete brojeve u format koji zelis - za zadati broj vraca string. otprilike ovako:
Code:
'Ovio je samo kostur koda, cut/paste verovatno nece da radi
Function FormatiraniUnos(varInput as variant) as String
FormatiraniUnos = "U" & Format(varInput,"0000")
End Function
2) na BeforeUpdate eventu za formu pozovi tvoju funkciju, posalji joj uneti tekst kao parametar i sacuvaj u tabeli rezultat funkcije, otprilike ovako:
Code:
Sub Form_BeforeUpdate(Cancel as integer)
Me!KljucnoPolje=FormatiraniUnos(Me!KljucnoPolje)
End Sub
Generalno, nije dobro da se unosi jedno a cuva drugo. Moras da imas jako dobar razlog da zelis da uradis ovo sto si trazio, pa razmisli da li ti ovo uopste i treba. Sta ce ti U ispred brojeva? Ako je "U0023" spoj dva nezavisna podatka, onda je bolje imati dva polja umesto jednog 'izracunatog'. Nesto ti nije dobro u dizajnu.
:-)