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?
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.