| 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 Function
Richiamando 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. |