PEGA A DATA DE DOMINGO E SABADO DA SEMANA ATUAL

WMR2018 09/09/2024 20:37:56
#503545
Boa noite pessoal...

Preciso pegar a data do domingo e do sabado da semana que estou...
Domingo seria o primeiro dia a semana
Sabado seria o ultimo dia da semana

Preciso carregar um grid onde a consulta auto preencha com a essa consulta entre essas duas datas.
Aconsulta consigo fazer de boa
Agora precisava buscar a data do domingo e do sabado antes de fazer a where...

Alguem sabe como busco isso?
SAMUKA 10/09/2024 16:36:51
#503546
Resposta escolhida
Boa tarde!

Use a função Weekday(Now) para saber que dia da semana é hoje, e depois faça os cálculos e use a função DateAdd para chegar as datas de domingo e sábado.

https://support.microsoft.com/pt-br/topic/fun%C3%A7%C3%A3o-weekday-05d360d7-2c3f-4691-9448-c96ea0351940
WMR2018 10/09/2024 20:49:52
#503547
Alterado em 10/09/2024 22:55:17
Citação:

Boa tarde!Use a função Weekday(Now) para saber que dia da semana é hoje, e depois faça os cálculos e use a função DateAdd para chegar as datas de domingo e sábado.https://support.microsoft.com/pt-br/topic/fun%C3%A7%C3%A3o-weekday-05d360d7-2c3f-4691-9448-c96ea0351940



Problema é justamente esse.... a questão é sem colocar a data 08/09/24 (Weekday(08/09/24 ))ele vai dizer que é domingo...
E eu quero descobrir qua é a data que cai domingo da semana que estou... sem citar a data, somente sabendo a data de hoje...



Sei usar o Weekday para saber que dia da semana cai

SAMUKA 11/09/2024 08:36:31
#503548
Se você sabe qual dia da semana você está, usando a funcão Weekday, é só calcular.
Se você está na quarta-feira (retorno é 4), você faz a conta de quanto precisa recuar até o domingo, no caso é 3 dias.
Pega esses 3 dias, joga ele na função DateAdd("d", diasRecuar, Date) e vai ter a data de domingo
Para o sábado você faz a conta de quantos dias precisa avançar até chegar no sábado, no caso 3 dias também.
Pega esses 3 dias, joga ele na função DateAdd("d", diasAvancar, Date) e vai ter a data de sábado

WMR2018 13/09/2024 22:54:00
#503559

Citação:

Se você sabe qual dia da semana você está, usando a funcão Weekday, é só calcular.Se você está na quarta-feira (retorno é 4), você faz a conta de quanto precisa recuar até o domingo, no caso é 3 dias.Pega esses 3 dias, joga ele na função DateAdd("d", diasRecuar, Date) e vai ter a data de domingoPara o sábado você faz a conta de quantos dias precisa avançar até chegar no sábado, no caso 3 dias também.Pega esses 3 dias, joga ele na função DateAdd("d", diasAvancar, Date) e vai ter a data de sábado



Nossa ajudou demais... obg... deu tudo certo

Fiz assim:
Dim vDiaSemanaAtual As Integer
Dim vDataDomingo As Date
Dim vDataSabado As Date

vDiaSemanaAtual = Weekday(Now)

If vDiaSemanaAtual = 1 Then
vDataDomingo = DateAdd("d", 0, Date)
vDataSabado = DateAdd("d", 6, Date)
MsgBox vDataDomingo
MsgBox vDataSabado
ElseIf vDiaSemanaAtual = 2 Then
vDataDomingo = DateAdd("d", -1, Date)
vDataSabado = DateAdd("d", 5, Date)
MsgBox vDataDomingo
ElseIf vDiaSemanaAtual = 3 Then
vDataDomingo = DateAdd("d", -2, Date)
vDataSabado = DateAdd("d", 6, Date)
MsgBox vDataDomingo
MsgBox vDataSabado
ElseIf vDiaSemanaAtual = 4 Then
vDataDomingo = DateAdd("d", -3, Date)
vDataSabado = DateAdd("d", 3, Date)
MsgBox vDataDomingo
MsgBox vDataSabado
ElseIf vDiaSemanaAtual = 5 Then
vDataDomingo = DateAdd("d", -4, Date)
vDataSabado = DateAdd("d", 2, Date)
MsgBox vDataDomingo
MsgBox vDataSabado
ElseIf vDiaSemanaAtual = 6 Then
vDataDomingo = DateAdd("d", -5, Date)
vDataSabado = DateAdd("d", 1, Date)
MsgBox vDataDomingo
MsgBox vDataSabado
ElseIf vDiaSemanaAtual = 7 Then
vDataDomingo = DateAdd("d", -6, Date)
vDataSabado = DateAdd("d", 0, Date)
MsgBox vDataDomingo
MsgBox vDataSabado
End If
Tópico encerrado , respostas não são mais permitidas