Access - pasar numeros aletras

 
Vista:

pasar numeros aletras

Publicado por clemente (14 intervenciones) el 01/05/2005 18:08:29
Hola
Necesito rellenar un formulario de pagares y para ello debo de poner la cantidad, pero me gustaria que al poner la cantidad en numero me la pasara tambien a letra en otro campo
Gracias
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

RE:pasar numeros aletras

Publicado por 2pl (773 intervenciones) el 01/05/2005 20:51:07
Busca en la web, esto se ha publicado decenas de veces.
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

numeros a letras para access y vb

Publicado por Moises Coronado (1 intervención) el 03/06/2005 00:04:28
simplementa pega esto en cualquier formulario de acces o vb y funciona
esta para moneda de quetzales pero estan facil cambiarlo
solo usas la funcion numeroletras(cantidad) y listo

Dim Unidades(9) As String
Dim Decenas(9) As String
Dim Diez(9) As String

Function NumeroLetras(Cantidad As String)
Dim PosDec As Integer
Dim Entero As String
Dim Otro As String

Otro = Cantidad
LlenaArrays
Otro = Format(Otro, "########0.00")
PosDec = InStr(1, Otro, ".")
Entero = Left(Otro, PosDec - 1)
If Val(Entero) = 0 Then
NumeroLetras = Right$(Otro, Len(Otro) - PosDec) & "/100."
Else
If Right(Otro, 2) <> 0 Then
NumeroLetras = Num2Let(Entero) & " Quetzales Con " & Right$(Otro, Len(Otro) - PosDec) & "/100."
Else
NumeroLetras = Num2Let(Entero) & " Quetzales Exactos"
End If
End If
End Function

Function Num2Let(ByVal Numero As String) As String
Numero = Format(Numero, "########0")
If Len(Numero) > 6 And Len(Numero) <= 9 Then 'Si es mayor que Millon
If Val(Left$(Numero, Len(Numero) - 6)) = 1 Then
If Val(Right$(Numero, 6)) = 0 Then
Num2Let = "Un Millon "
Else
Num2Let = "Un Millon " & Num2Let(Right$(Numero, 6))
End If
Else
Num2Let = Num2Let(CStr(Val(Left$(Numero, Len(Numero) - 6)))) & " Millones, " & Num2Let(Right$(Numero, 6))
End If
End If
If Len(Numero) > 3 And Len(Numero) <= 6 Then 'Si es esta entre mil y millon
If Val(Left$(Numero, Len(Numero) - 3)) = 1 Then
If Val(Right$(Numero, 3)) = 0 Then
Num2Let = "Un Mil "
Else
Num2Let = "Un Mil " & Num2Let(Right$(Numero, 3))
End If
Else
Num2Let = Num2Let(Left$(Numero, Len(Numero) - 3)) & " Mil " & Num2Let(Right$(Numero, 3))
End If
End If
If Len(Numero) = 3 Then 'Unidad Centena
If Left$(Numero, 1) = "1" Then
If Val(Numero) = 100 Then
Num2Let = "Cien "
Else
Num2Let = "Ciento " & Num2Let(Right$(Numero, 2))
End If
Else
If Left$(Numero, 1) = "5" Then
Num2Let = "Quinientos " & Num2Let(Right$(Numero, 2))
Else
Num2Let = Unidades(Val(Left$(Numero, 1))) & "cientos " & Num2Let(Right$(Numero, 2))
End If
End If
End If
If Len(Numero) = 2 Then 'Unidad Decena
If Left$(Numero, 1) = "1" Then
If Right$(Numero, 1) = "0" Then Num2Let = Decenas(1) Else Num2Let = Diez(Val(Right$(Numero, 1)))
Else
If Val(Right(Numero, 1)) <> 0 Then
If Left$(Numero, 1) = "2" Then
Num2Let = "Veinti" & LCase(Num2Let(Right$(Numero, 1)))
Else
Num2Let = Decenas(Val(Left$(Numero, 1))) & " y " & Num2Let(Right$(Numero, 1))
End If
Else
Num2Let = Decenas(Val(Left$(Numero, 1)))
End If
End If
End If
If Len(Numero) = 1 Then
Num2Let = Unidades(Val(Numero))
End If
End Function

Sub LlenaArrays()
'Unidades(0) = "Cero":
Unidades(1) = "Uno": Unidades(2) = "Dos": Unidades(3) = "Tres"
Unidades(4) = "Cuatro": Unidades(5) = "Cinco": Unidades(6) = "Seis"
Unidades(7) = "Siete": Unidades(8) = "Ocho": Unidades(9) = "Nueve"

Decenas(1) = "Diez": Decenas(2) = "Veinte": Decenas(3) = "Treinta"
Decenas(4) = "Cuarenta": Decenas(5) = "Cincuenta": Decenas(6) = "Sesenta"
Decenas(7) = "Setenta": Decenas(8) = "Ochenta": Decenas(9) = "Noventa"

Diez(1) = "Once": Diez(2) = "Doce": Diez(3) = "Trece"
Diez(4) = "Catorce": Diez(5) = "Quince": Diez(6) = "Diez y Seis"
Diez(7) = "Diez y Siete": Diez(8) = "Diez y Ocho": Diez(9) = "Diez y Nueve"
End Sub
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