Saber días del mes de agosto

Hola a todos.

Dada una fecha inicial y sumándole un número determinado de días si la fecha resultante cae en agosto, parcial o entero, necesito saber el número de días que son de ese mes para seguidamente operar con ellos.

Ejemplo: Fecha Inicial: + días = Fecha Final Días Agosto

25/06/2013 + 111 = 14/10/2013 31

24/04/2013 + 111 = 13/08/2013 13

Espero que me podáis ayudar, gracias.

1 respuesta

Respuesta
1

Una tabla que llamaré DíasAgosto con 4 campos:

FechaInicial (Fecha) DiasSuma (numérico) FechaFinal (Fecha) DiasAgosto (número)

Un formulario independiente, no lo bases en ninguna tabla ni consulta.

Cuatro cuadros de texto que llamaremos:

TxtFechaIni

TxtDias

TxtFechaFin

TxtDiasAgosto

Llenaremos los cuadros txtFechaIni y txtDias, los otros los calcularemos en el código del botón.

Un botón que llamaré Enviar, en el código de ese botón:

Form!txtFechaFin.Value = DateAdd("d", Form!txtDias.Value, Form!txtFechaIni.Value)
Select Case Month(txtFechaFin.Value)

Case Is < 8 Form!txtDiasAgosto.Value = 0

Case 8 Form!txtDiasAgosto.Value = Day(txtFechaFin.Value)

Case Is > 8 Form!txtDiasAgosto.Value = 31

End Select
DoCmd.RunSQL "Insert Into DiasAgosto (FechaInicial, DiasSuma, FechaFinal, DiasAgosto) Values (cdate('" & Form!txtFechaIni.Value & "'), " & Form!txtDias.Value & ", cdate('" & Form!txtFechaFin.Value & "'), " & Form!txtDiasAgosto.Value & ")"

Es decir, 1º calculamos con DateAdd la fecha final, sumando a la fecha inicial (introducida en el cuadro de texto txtFechaIni) los días introducidos en el cuadro de texto txtDias.

Después calculamos el mes de la fecha final y con Select Case ... End Select damos los valores al cuadro de texto txtDiasAgosto según el mes sea <8 (días=0) =8 (días=días de la fecha) o >8 (días=31)

Luego, con la sql Insert Into insertamos el registro en la tabla.

Cualquier duda, me consultas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas