Parametriza la consulta:
cmd.Parameters.AddWithValue("@FechaVen", If(.FechaVen.HasValue, .FechaVen.Value, DirectCast(DBNull.Value, Object)))En comentarios anteriores se deja un ejemplo.
Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
Así quedo:
If DTPFechaVen.Checked = True Then .FechaVen = DTPFechaVen.Value Else .FechaVen = If(.FechaVen.HasValue, .FechaVen.Value, DirectCast(DBNull.Value, Object)) End If
Me aparece el siguiente mensaje de error
"La conversión especificada no es valida"