Vamos por partes, para que solo te acepte un caracter mira la propiedad MAXLENGTH le das el valor 1 y santas pascuas.
Para aceptar solo numeros, puedes poner la siguiente rutina en el suceso change:
esto vale para una caja de textos de varios caracteres,
error=0
for x=1 to len(cajatxt)
a=mid(cajatxt,x,1)
if a<"0" or a>"9" then error=1
endif
if error=1 then
cajatxt=""
cajatxt.setfocus
endif
en el caso de querer solo letras sustitute "0" por "A" y "9" por "Z"
si solo admite la caja un solo caracter, puedes simplificarlo asi:
if cajatxt<"0" or cajatxt>"9" then
cajatxt=""
cajatxt.setfocus
endif
espero haberte ayudado.
saludos