En la aplicación usá campos de caracteres, no campos numéricos ni variables numéricas. Es básico. Exactamente lo mismo que cuando almacenas los números de documento.
Si eso no te resulta suficiente, creá una función de validación que llame a verificar que sólo se hayan ingresado números. Por ejemplo: en VB existe la función Instr() que verifica dentro de un string si existen o no cierto tipo de caracteres. Cuando se la usa así:
Código:
InStr("1234567890", Chr(Keyascii))
devuelve cero si se ingresaron otros tipos de caracteres.
El tema es que las validaciones, al menos las de ese tipo, son por definición responsabilidad de la aplicación, no de la base de datos. Sino estás recargándolé trabajos para los que no está optimizada, como sí lo están los lenguajes de programación.
Nunca te olvides que SQL es un LENGUAJE DE CONSULTAS, no de programación de aplicaciones.
En la base de datos, usá campos CHAR y VARCHAR y cargá los datos con la función LPAD y RPAD.