Poner formato correcto a expresión fecha
Con el código que me paso ayer Sveinbjorn El Rojo para realizar un INSERT INTO a una tabla histórico, que es este:
Private Sub Imagen113_Click()
Dim respuesta As String
Dim cSql As String
Dim vFecha As Variant
respuesta = MsgBox("ELIMINARÁ EL REGISTRO ACTUAL,¿DESEA CONTINUAR?", vbYesNo, "CONFIRMAR")
If respuesta = 6 Then
vFecha = InputBox("Introduzca la fecha de Baja")
If StrPtr(vFecha) = 0 Then 'Se pulsó Cancelar
MsgBox "Proceso cancelado por el usuario"
Exit Sub
End If
If IsNumeric(vFecha) Then 'Se ha escrito un número
MsgBox "Tienes que introducir una fecha con formato dd/mm/aaaa"
Exit Sub
End If
If Not IsDate(vFecha) Then 'No es una fecha
MsgBox "Tienes que introducir una fecha con formato dd/mm/aaaa"
Exit Sub
End If
DoCmd.RunSQL "INSERT INTO EquiposBaja (Modelo, EquipoSerialNumber,Observaciones,FechaBaja) VALUES ('" & Modelo.Value & "', '" & EquipoSerialNumber.Value & "', '" & Observaciones.Value & "',#" & Format(vFecha, "dd/mm/yyyy") & "#)"
MsgBox ("LA FICHA ELIMINADA PASARÁ AL REGISTRO HISTÓRICO"), vbInformation, "PASO DE DATOS A HISTÓRICO COMPLETADO"
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.Close acForm, "Equipos", acSaveYes
DoCmd.OpenForm "EquiposBaja"
MsgBox ("REGISTRO ACTUAL ELIMINADO"), vbInformation, "REGISTRO ELIMINADO"
Else
MsgBox ("REGISTRO ACTUAL NO ELIMINADO"), vbInformation, "CANCELAR ELIMINACION"
End If
End Sub
He observado una pequeña anomalía que no soy capaz de solventar
El código funciona perfectamente, pero cuando voy al formulario EquiposBajas observo que en el campo FechaBaja el orden del formato no es el correcto, me explico; yo tengo en el código que sea dd/mm/yyyy, osea quiero que se vea el formato estándar que es primero el día, luego el mes y luego el año; sin embargo, y a pesar de estar el código correcto, la fecha en el campo FechaBaja se guarda como si fuera formato mm/dd/yyyy
A modo de ejemplo, un registro que paso al histórico en el día de hoy, cuando me abre el InputBox le pongo 06/04/2016 y el resto del código funciona perfecto, pero cuando abre el formulario EquiposBaja veo en el campo FechaBaja lo siguiente: 04/06/2016
¿Alguna idea de porque puede ser?