Numero a letras

Soy novato en access y tengo un problemilla.
Necesito pasar números a letras en Access.
Dentro de las preguntas anteriores estaba el código, mi duda es como se usa (formulario, ¿consulta?), ¿Se pega en modulo?
Como se hace ahhhh.

1 Respuesta

Respuesta
1
Crea un nuevo módulo, se abrirá el editor de visual basic, y ahí, debajo de la primera(s) líneas que ya te pone access por defecto, le pegas el código.
Dale al icono de guardar (o activa el menú Archivo/Guardar) y le indicas un nombre cualquiera.
Puedes comprobar que el código está correcto con la opción de menú Depuración/Compilar. Una breve pausa, y si hay algún error te lo indica, y si no, listos. Si tienes un error, te toca averiguar el motivo o preguntar al autor del código.
Supongamos que ya lo tienes. En algún sitio del código debe haber algún comentario (líneas en verde, empiezan por un apostrofe (')) que indique cómo usarlo. Supongamos que te indica que debes utilizar una función que se declara más abajo y que tiene una pita tal que
function numALetras(elNumero,formato)
(Lo he cogido, poniendo otros nombres, de la última vez que se envió una respuesta de estas)
Lo que te dice es que la función numALetras hay que ponerle dos parámetros (el número a convertir y un indicador de formato que supongamos que debe valer 1) y, aunque no lo indica, se supone que devolverá una cadena de texto.
Pulsa Ctrl+G o bien activa Ver/Ventana Inmediato. Esto te abre una ventana de pruebas. Escribe en ella
? NumALetras(123.45,1)
Y dale al ENTER
¿El? Lo que hace es imprimir el resultado de lo que devuelva el numALetras. Si todo está OK, debería aparecerte a continuación el texto. Si te diera un error, ya sabes, a investigar.
Supongamos que ya has conseguido que la cosa funcione. A partir de ahora puedes utilizar la función en formularios, informes, consultas...
Formularios: Pones un cuadro de texto, y dentro le escribes
=numaletras(campoDelFormulario,1)
Siendo el primer parámetro el nombre del campo que contiene el número a convertir. Si te da un error al intentar guardar esto, prueba a sustituir la coma por punto y coma (;), que depende de en qué país estés.
Informes: Lo mismo
Consultas: Puedes poner un campo con el formato
Letras: numALetras([campoDeTabla], 1)
(Ídem con lo del punto y coma).
En ambos casos, ten cuidado con lo que ocurra en registros nuevos. Si intentas abrir el formulario sobre un registro nuevo pasándole a la función el campo importe, que está en blanco, lo más seguro es que tengas un error. Lo más práctico es abrir la vista diseño de la tabla que contiene el campo importe (o el que sea) y ponerle un valor por defecto e indicarle 'requerido', para que no esté nunca en nulo.
Alternativamte, podrías usar la función predefinida NZ, de la forma
=numALetras(nz(importe,0),1)
Nz devuelve el primer parámetro salvo que sea nulo, en cuyo caso devuelve el segundo. Igual comentario con el posible punto y coma en nz.
Uf, que rollo. Esto te pasa por hacer una pregunta general.
Espero que te sirva. Si no es así, pregunta. Pero hasta el lunes no estaré de vuelta por aquí.
Suerte
Gracias por tu ayuda pero :
Al tratar de compilar me da un mensaje de Microsoft Visual Basic
error de compilación:
No se puede encontrar el proyecto o la biblioteca
le doy aceptar, y me sale un menu de referencias de bd1, referencias disponibles, y despliega varios archivos dll, .
No seria posible conseguirse un código de números a letras correcto. slds
Lo raro es que tengo otro código para excel que funciona sin ningún problema.
En definitiva no entiendo (uso windows 2000 proffesional).
Ahí ya creo que no te puedo ayudar. Si sacaste el código de alguna respuesta anterior, intenta ponerte en contacto con el que la dio.
Normalmente ese error de referencias viene provocado por utilizar una técnica de acceso a datos llamada DAO que por defecto viene deshabilitada en Access 2000. Pero claro, en una rutina de números a letras no debería ser necesaria para nada.
O bien, olvidate del cóigo que tienes y vuelve a plantear la pregunta solicitando pasar de números a letras. Muy posiblemente te responda otra persona con un código diferente, que quizá te vaya bien.
En todo caso, todo el rollo que metí aquí espero que te sirva en el futuro para hacerlo funcionar.
Suerte..

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas