Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Crear cuenta

Access - CONVERTIR FECHA EN NÚMERO A FECHA EN LETRA

Vista:
Me gusta: Está pregunta es útil y esta clara
0
No me gusta: Está pregunta no esta clara o no es útil
 
Asunto:CONVERTIR FECHA EN NÚMERO A FECHA EN LETRA
Autor:MARTIN (6 intervenciones)
Fecha:28/02/2008 20:02:20
En Access 2003, tengo un campo de FECHA con formato Fecha Corta (ej.: 22/03/2008) y necesito programar un Módulo que coja ese campo y lo grabe o escriba en letra ("veintidós de Marzo de dos mil ocho"), para utilizarlo en un informe.
También agradecerís un módulo que convierta cantidades (con decimales o sin ellos) a texto (ej.: si tengo 1345, que obtenga "mil trescientos cuarenta y cinco".
El módulo de las fechas me es bastante urgente.
GRACIAS POR VUESTRA AYUDA.
Responder Subir
información
Otras secciones de LWP con contenido similar...
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:RE:CONVERTIR FECHA EN NÚMERO A FECHA EN LETRA
Autor:mi menda (1111 intervenciones)
Fecha:29/02/2008 07:50:07
Hola Martín:
Puedes utulizar esto. el códdigo comprende del año 2000 al 2099, que creo que bastará:

Private Sub cmdConvertirFecha_Click()

Dim intDia As Integer, intMes As Integer, intAño As Integer, _
strDia As String, strMes As String, strAño As String

intDia = Left(Me.CampoFecha, 2)
intMes = Mid(Me.CampoFecha, 4, 2)
intAño = Right(Me.CampoFecha, 2) ' hasta el 2099

strDia = dimeDia(intDia)
strMes = dimeMes(intMes)
strAño = dimeAño(intAño)
CampoFechaLetra = strDia & " de " & strMes & " del " & strAño

End Sub

Las siguientes funciones las puedes poner en un módulo

Function dimeDia(dameDia As Integer) As String

Select Case dameDia
Case 1
dimeDia = "uno"
Case 2
dimeDia = "dos"
Case 3
dimeDia = "tres"
Case 4
dimeDia = "cuatro"
Case 5
dimeDia = "cinco"
Case 6
dimeDia = "seis"
Case 7
dimeDia = "siete"
Case 8
dimeDia = "ocho"
Case 9
dimeDia = "nueve"
Case 10
dimeDia = "diez"
'Case sigue tu hasta el dia 31

End Select

End Function

Function dimeMes(dameMes As Integer) As String

Select Case dameMes
Case 1
dimeMes = "enero"
Case 2
dimeMes = "febrero"
Case 3
dimeMes = "marzo"
Case 4
dimeMes = "abril"
Case 5
dimeMes = "mayo"
Case 6
dimeMes = "junio"
Case 7
dimeMes = "junio"
Case 8
dimeMes = "agosto"
Case 9
dimeMes = "septiembre"
Case 10
dimeMes = "octubre"
Case 11
dimeMes = "noviembre"
Case 12
dimeMes = "diciembre"

End Select
End Function

Function dimeAño(dameAño As Integer) As String

Select Case dameAño
Case Is < 10
If dameAño = 0 Then
dimeAño = "dos mil"
Else
dimeAño = "dos mil " & dimeDia(dameAño)
End If
Case 10
dimeAño = "dos mil diez"
Case 11
dimeAño = "dos mil once"
Case 12
dimeAño = "dos mil doce"
Case 13
dimeAño = "dos mil trece"
Case 14
dimeAño = "dos mil catorce"
Case 15
dimeAño = "dos mil quince"
Case 16 To 19
dimeAño = "dos mil dieci" & dimeDia(Right(dameAño, 1))
Case 20
dimeAño = "dos mil veinte"
Case 21 To 29
dimeAño = "dos mil veinti" & dimeDia(Right(dameAño, 1))
Case 30
dimeAño = "dos mil treinta"
Case 31 To 39
dimeAño = "dos mil treinta y " & dimeDia(Right(dameAño, 1))
Case 40
dimeAño = "dos mil cuarenta"
Case 41 To 49
dimeAño = "dos mil cuarenta y " & dimeDia(Right(dameAño, 1))
Case 50
dimeAño = "dos mil cincuenta"
Case 51 To 59
dimeAño = "dos mil cincuenta y " & dimeDia(Right(dameAño, 1))
Case 60
dimeAño = "dos mil esenta"
Case 61 To 69
dimeAño = "dos mil sesenta y" & dimeDia(Right(dameAño, 1))
Case 70
dimeAño = "dos mil setenta"
Case 71 To 79
dimeAño = "dos mil setenta y " & dimeDia(Right(dameAño, 1))
Case 80
dimeAño = "dos mil ochenta"
Case 81 To 89
dimeAño = "dos mil ochenta y " & dimeDia(Right(dameAño, 1))
Case 90
dimeAño = "dos mil noventa"
Case 91 To 99
dimeAño = "dos mil noventa y " & dimeDia(Right(dameAño, 1))
End Select
End Function

En cuanto lo de pasar cantidades a letras, en la sección código fuente de esta misma página tienes un ejemplo.

Un Saludo.
Comentar Subir
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:RE:CONVERTIR FECHA EN NÚMERO A FECHA EN LETRA
Autor:mi menda (1111 intervenciones)
Fecha:29/02/2008 11:58:23
Hola de nuevo Martín:
Me he acordado de que ya existe una función para el nombre del mes, así que te puedes ahorrar la función dimeMes y la variable intMes, a no ser que quiereas poner el nombre del més de una forma distinta a como te lo devuelve la función de VBA.

strMes = strMes = MonthName(Month(CampoFecha))

Un Saludo
Comentar Subir
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:RE:CONVERTIR FECHA EN NÚMERO A FECHA EN LETRA
Autor:MI MENDA (1111 intervenciones)
Fecha:07/03/2008 09:02:27
ESTO FUNCIONA. MUCHISIMAS GRACIAS.
Comentar Subir