¿Formato de Fecha- Hora diferente?

En una Tabla tengo un registro con dos campos, uno es de fecha con formato de fecha corta y el otro de la hora con formato de hora corta. Necesito refundir estos dos campos en uno de un formulario donde estan junto la fecha + la hora pero con un formato especifico dia+hora+"L/"+mes+"/"+año.
Ej:03/04/2008 17:30 ---> 031730L/ABR/08
¿Sabes de alguna solución?

1 respuesta

Respuesta
1
Si, se podría hacer mediante VB. En el formulario donde lo quieres poner en Eventos al Abrir.
Dime si el formulario donde quieres que esté todo junto lo abres mediante un botón de comando desde el primer formulario.
Dime también el nombre de los formularios y de los campos tanto los de fecha y hora por separado como el de todo junto.
Especifícame que significa la L que hay después de 031730
Y te mando el código para que lo haga. Lo único de deberías tener en cuenta, es que el campo donde sale todo junto debe ser un tipo texto por lo que luego no podrás calcular nada con el ni ordenarlo por fecha etc.. sin mediante VB cortarlo y cambiarlo de tipo de dato.
En una tabla por tengo por separado dos campo uno llamado Fecha (formato fecha corta) y otro campo Hora (formato horalarga) y debo de colocarlo en otro campo (mejor tipo texto, no se calcula nada) en el formato standard militar día-hora-minutos-(L o Z)-"/"-mes(tres dígitos)-"/"-año(los dos últimos dígitos). La L o la Z significa en huso horsario en el que nos encontramos, es un carácter texto, L lima significa hora local, Z zulu dos horas menos en invierno, etc).
fecha- 12/04/2008
hora- 17:09
Formato solicitado en campo de texto 121709L/ABR/08
Espero que me haya explicado correctamente. Gracias por tu interés.
Bien, te paso un código en VBA, lo puedes poner o en un botón del formulario en enventos del formulario al abrir, es necesario que en el formulario tengas los campos de fecha y hora más un campo de texto donde poner la expresión.
'Variables cogida datos del formulario
Dim FechaInicial As Date
Dim HoraInicial As Date
Dim HusoHorario As String
'Variables separación de datos por trozos
Dim Hora As Integer
Dim Minutos As Integer
Dim Dia As Integer
Dim Mes As Integer
Dim Año As Integer
'Variables de texto para montar la expresión final
Dim StrHora As String
Dim StrMinutos As String
Dim StrDia As String
Dim StrMes As String
Dim StrAño As String
Dim strAñoFinal As String
Dim ExpresionFinal As String
'Son los campos de fecha y hora de la tabla que están en el formulario aunque sea en no visible
'Y un campo donde se pone el huso horario, puede ser un campo de texto o un cuadro combinado.
FechaInicial = Me.Fecha.Value
HoraInicial = Me.Hora.Value
HusoHorario = Me.HusoHorario.Value
'Troceo la fecha y hora para poder montar el final
Hora = Hour(HoraInicial)
Minutos = Minute(HoraInicial)
Dia = Day(FechaInicial)
Mes = Month(FechaInicial)
Año = Year(FechaInicial)
'Doy valor a los Meses
If Mes = 1 Then
StrMes = "ENE"
End If
If Mes = 2 Then
StrMes = "FEB"
End If
If Mes = 3 Then
StrMes = "MAR"
End If
'Y así sucesivamente los vas rellenando todos
'..........................
'Convierto el resto de las variables a texto
StrHora = Str(Hora)
StrMinutos = Str(Minutos)
StrDia = Str(Dia)
StrAño = Str(Año)
strAñoFinal = Right(StrAño, 2)
'Monto la expresión final
ExpresionFinal = StrDia + StrHora + StrMinutos + HusoHorario + "/" + StrMes + "/" + strAñoFinal
'Pongo el valor de la exprsión final en el campo reservado para ello
Me.NombreDelCampoDondeVaLaExpresion.Value = Expresiónfinal
Espero haber solucionado tu problema, si tienes más dudas, estaré encantado de ayudarte.
Perndona, me he dejado una cosita.
En el formulario, también debes tener un campo de texto o un cuadro combinado donde selecciones lo del la L o la Z y todo esto. Excepto que con los datos de fecha y hora sea posible saber que es lo que va, entonces dímelo e intento que lo ponga solo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas