Visualizar la semana completa en relación con la fecha escogida en un campo fecha.

En un formulario dependiente tengo un campo tipo FechaHora que lo llamo "FechaSemana". He creado un campo independiente que por defecto he dejado su nombre "Texto15", para que me muestre la semana completa, por ejemplo: lunes/8/enero  a domingo/14/enero. Hasta aquí todo bien, lo que ocurre es que quisiera que, al cambiar la fecha del campo "FechaSemana" me mostrara el campo independiente la semana completa de la fecha elegida. He puesto el siguiente código que funciona bien, pero coge la fecha del día actual "Date", y al cambiar de fecha no me funciona. No sé si se puede modificar el código para que funcione en relación a la fecha escogida del campo "FechaSemana".

Muhísimas gracias! Saludos!

Xavier.

Este es el código:

Private Sub Form_Current()
Dim a
a = Weekday(Date, vbMonday)
If a = 1 Then
Texto15 = Format(Date, "dddd/dd/mmmm") & " a " & Format(Date + 6, "dddd/dd/mmmm")
ElseIf a = 2 Then
Texto15 = Format((Date) - 1, "dddd/dd/mmmm") & " a " & Format(Date + 5, "dddd/dd/mmmm")
ElseIf a = 3 Then
Texto15 = Format((Date) - 2, "dddd/dd/mmmm") & " a " & Format(Date + 4, "dddd/dd/mmmm")
ElseIf a = 4 Then
Texto15 = Format((Date) - 3, "dddd/dd/mmmm") & " a " & Format(Date + 3, "dddd/dd/mmmm")
ElseIf a = 5 Then
Texto15 = Format((Date) - 4, "dddd/dd/mmmm") & " a " & Format(Date + 2, "dddd/dd/mmmm")
ElseIf a = 6 Then
Texto15 = Format((Date) - 5, "dddd/dd/mmmm") & " a " & Format(Date + 1, "dddd/dd/mmmm")
ElseIf a = 7 Then
Texto15 = Format((Date) - 6, "dddd/dd/mmmm") & " a " & Format(Date + 0, "dddd/dd/mmmm")
End If
End Sub

1 respuesta

Respuesta
2

Cambia todos los Date por Me. Texto15 y te debería funcionar perfectamente...

Un saludo.


Gracias Sveinbjorn El Rojo, por tu pronta respuesta. Lamentablemente no me funciona, he cambiado todos los Date por Me.Texto15, y me da error. He probado poner el campo FechaSemana y tampoco me funciona. Lo que no sé si es correcto el poner en el comienzo de las líneas de código Texto15 y luego cambiar Date por Me.Texto15. No sé, disculpa mi desconocimiento en VBA. Gracias de nuevo!

Xavier.

Normal que no te funcione como te lo puse, porque Texto15 es el campo de destino y no el que tiene la fecha... sorry!

Lo que tienes que poner es Me. FechaSemana en vez de Date.

Además, no te funciona porque ese código lo tienes en el evento "Al activar registro", con lo que te pondrá la semana actual completa al cargar el formulario y al cambiar de registro, independientemente de lo que tengas en FechaSemana.

Si FechaSemana viene de la tabla, con el cambio que te indico te tendría que mostrar (de nuevo al cargar el formulario y al cambiar de registro) la semana de la fecha que muestre ese campo.

Si además quieres poder modificar tú la fecha y que se actualice Texto15, tienes que programar, además, el evento "después de actualizar" de FechaSemana

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas