Access - Empresariales

 
Vista:

Empresariales

Publicado por David Fernández (1 intervención) el 15/12/2004 11:22:09
Me gustaría saber si existe alguna función en acces para transformar valores númericos en letras (Ej. Ya escribo en un campo 103 y que acces indique "Ciento Tres"
Muchas gracias, un cordial saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Generar informe con datos agrupados por campo específico

Publicado por Alejandro (4142 intervenciones) el 19/05/2023 23:24:19
En Access, no existe una función incorporada para convertir directamente valores numéricos en letras. Sin embargo, puedes crear tu propia función personalizada para lograrlo. A continuación te muestro un ejemplo de cómo puedes hacerlo:

1. Abre tu base de datos de Access y ve al editor de Visual Basic presionando Alt + F11.

2. En el editor de Visual Basic, ve al menú "Insertar" y selecciona "Módulo" para agregar un nuevo módulo al proyecto.

3. En el nuevo módulo, escribe el siguiente código para crear una función personalizada llamada "ConvertirNumeroALetras":

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Function ConvertirNumeroALetras(ByVal Numero As Long) As String
    Dim Unidades() As String
    Dim Decenas() As String
    Dim Resultado As String
    Dim Temp As String
 
    Unidades = Split("Cero,Uno,Dos,Tres,Cuatro,Cinco,Seis,Siete,Ocho,Nueve", ",")
    Decenas = Split("Diez,Once,Doce,Trece,Catorce,Quince,Dieciséis,Diecisiete,Dieciocho,Diecinueve,Veinte,Treinta,Cuarenta,Cincuenta,Sesenta,Setenta,Ochenta,Noventa", ",")
 
    If Numero = 0 Then
        ConvertirNumeroALetras = "Cero"
        Exit Function
    End If
 
    If Numero <= 20 Then
        ConvertirNumeroALetras = Unidades(Numero)
        Exit Function
    End If
 
    If Numero <= 99 Then
        Resultado = Decenas(Val(Left(Numero, 1) + 9))
        Temp = Right(Numero, 1)
        If Temp <> "0" Then
            Resultado = Resultado & " y " & Unidades(Val(Temp))
        End If
        ConvertirNumeroALetras = Resultado
        Exit Function
    End If
 
    ' Puedes continuar el patrón para números mayores si lo necesitas
 
    ConvertirNumeroALetras = "Número no soportado"
End Function

4. Guarda el módulo y cierra el editor de Visual Basic.

Ahora puedes utilizar la función "ConvertirNumeroALetras" en tus consultas, formularios o informes de Access. Por ejemplo, puedes utilizarla en una consulta de la siguiente manera:

1
2
SELECT Numero, ConvertirNumeroALetras(Numero) AS NumeroEnLetras
FROM TuTabla

Reemplaza "Numero" con el nombre del campo numérico en tu tabla.

Recuerda que esta función está diseñada para números hasta 99. Puedes expandirla para cubrir números más grandes si lo necesitas.

Espero que esta solución te sea útil para convertir valores numéricos en letras en Access. ¡Buena suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar