Perfeccionar InputBox de Fecha en Código Access
Siento las molestias
Con el código que me paso anteriormente 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 Date
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
MsgBox ("DEBE INTRODUCIR UNA FECHA"), vbInformation, "AVISO"
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
Estoy haciendo pruebas y he comprobado varios fallos con la sentencia relacionada con la fecha:
vFecha = InputBox("Introduzca la fecha de Baja")
If StrPtr(vFecha) = 0 Then
MsgBox ("DEBE INTRODUCIR UNA FECHA"), vbInformation, "AVISO"
End If
Los errores son los siguientes:
- Si el usuario deja el espacio en blanco en el InputBox y le da a ACEPTAR el código da error y se bloquea
- Si el usuario pone 0 o cualquier otro dígito el código avanza y al final el dígito puesto se entremezcla con el formato fecha y no sale correcto
- Si el usuario da a CANCELAR al InputBox el código también da error
- El MsgBox que he puesto no esta haciendo ninguna función
Necesitaria si porfavor podeis decirme la sentencia exacta que habria que poner para que se evitasen estos errores; osea que el usuario tenga que poner por narices una fecha con formato dd/mm/yyyy y sino que el InputBox le de error y vuelva a iniciar, que si deja el espacio en blanco y da a ACEPTAR el codigo le de un mensaje de error que le avise que debe poner una fecha y vuelva a mostrar en blanco el INPUTBOX, y que si da a Cancelar vuelva al formulario Equipos y no haga nada mas
Soy un principiante en esto de código VB para Access y no soy capaz de dar con la sentencias exactas que me hagan todo esto que necesito