Forms |
3.102 Accettare che in una casella di testo di una maschera vengano digitate solo lettere dell'alfabeto o il carattere punto |
Roberto, Alessandro Baraldi |
In un modulo del database memorizzare la seguente funzione: Public Function CkDgtWord(KeyAscii As Integer) As Integer CkDgtWord = 30 If ((KeyAscii >= 65 And KeyAscii <= 90) Or (KeyAscii >= 97 And KeyAscii <= 122)) Then CkDgtWord = KeyAscii Select Case KeyAscii Case vbKeyBack, vbKeyTab, vbKeyClear, vbKeyReturn, vbKeyShift CkDgtWord = KeyAscii Case vbKeyEscape, vbKeySpace, vbKeyDelete, vbKeyNumlock CkDgtWord = KeyAscii End Select End FunctionRichiamando tale funzione a fronte dell'evento "Su pressione" del controllo della maschera in cui si debbono poter digitare solo lettre dell'alfabeto minuscole o MAIUSCOLE o il carattere punto (.), è possibile impedire che vengano digitati altri caratteri. Se ad esempio si desidera che in una casella di testo chiamata MiaCasella sia possibile digitare solamente lettere dell'alfabeto minuscole o MAIUSCOLE o il carattere punto (.), a fronte dell'evento "Su pressione" di tale controllo si deve generare il seguente codice VBA: Private Sub MiaCasella_KeyPress(KeyAscii As Integer) KeyAscii = CkDgtWord(KeyAscii) End SubNon esistendo una funzione nativa del tipo IsAlphabetic, questa è una valida alternativa alla verifica di quanto in oggetto. |