GERAR SEMANA
Boa tarde!!!
Estou precisando gerar as semanas de um determinado perÃodo, exemplo:
01/01/2009 a 31/01/2009
Semana-01=01/01/2009 a 03/01/2009
Semana-02=04/01/2009 a 10/01/2009
Semana-03=11/01/2009 a 17/01/2009
Semana-04=18/01/2009 a 24/01/2009
Semana-05=25/01/2009 a 31/01/2009
Usando o código abaixo, to quase lá (acho), só que não está gerando a última semana, por exemplo, do perÃodo de 01/03/2009 a 31/03/2009.
Poderiam me dar uma dica de como proceder?
Att
Luciano
Estou precisando gerar as semanas de um determinado perÃodo, exemplo:
01/01/2009 a 31/01/2009
Semana-01=01/01/2009 a 03/01/2009
Semana-02=04/01/2009 a 10/01/2009
Semana-03=11/01/2009 a 17/01/2009
Semana-04=18/01/2009 a 24/01/2009
Semana-05=25/01/2009 a 31/01/2009
Usando o código abaixo, to quase lá (acho), só que não está gerando a última semana, por exemplo, do perÃodo de 01/03/2009 a 31/03/2009.
Sub gera_semana()
Dim v_sabado As Date, v_domingo As Date
ii = 0
CurrentDb.Execute [Ô]DELETE tbl_outros_parametros_semana.* FROM tbl_outros_parametros_semana;[Ô]
For i = 1 To Me.dias_mes
If i = 1 Then
v_sabado = Me.data_ini
v_domingo = v_sabado
Else
v_sabado = DateAdd([Ô]d[Ô], i - 1, Me.data_ini)
If Weekday(v_sabado) = 1 Then v_domingo = v_sabado
End If
If Weekday(v_sabado) = 7 Then
ii = ii + 1
Set tbl = CurrentDb.OpenRecordset([Ô]tbl_outros_parametros_semana[Ô])
With tbl
.AddNew
!num_semana = ii
!data_ini = v_domingo
!data_fin = v_sabado
.Update
End With
tbl.Close
Set tbl = Nothing
CurrentDb.Close
End If
Next i
Me.tbl_outros_parametros_semana_subform.Requery
End Sub
Poderiam me dar uma dica de como proceder?
Att
Luciano
luciano não estou entendo muito o código só explique o seguinte a semana é de seg a sab. é isto
Ola Marcelo,
Não, a semana que preciso é como no calendário, começa no primeiro dia do mes, até o primeiro sábado, depois começa no domingo e vai até o próximo sábado, até atingir o último dia do mês.
Luciano
Não, a semana que preciso é como no calendário, começa no primeiro dia do mes, até o primeiro sábado, depois começa no domingo e vai até o próximo sábado, até atingir o último dia do mês.
Luciano
entendi
só um segundo deixa eu analizar seu código
só um segundo deixa eu analizar seu código
Marcelo,
Seria o código abaixo?
Att
Luciano
Seria o código abaixo?
Att
Luciano
Sub gera_semana()
Dim v_sabado As Date, v_domingo As Date
ii = 0
CurrentDb.Execute [Ô]DELETE tbl_outros_parametros_semana.* FROM tbl_outros_parametros_semana;[Ô]
For i = 1 To Me.dias_mes
If i = 1 Then
v_sabado = Me.data_ini
v_domingo = v_sabado
Else
v_sabado = DateAdd([Ô]d[Ô], i - 1, Me.data_ini)
If Weekday(v_sabado) = 1 Then v_domingo = v_sabado
End If
If v_sabado = Me.data_fin Then [ô]/// se for o ultimo dia do mês
ii = ii + 1
Set tbl = CurrentDb.OpenRecordset([Ô]tbl_outros_parametros_semana[Ô])
With tbl
.AddNew
!num_semana = ii
!data_ini = v_domingo
!data_fin = v_sabado
.Update
End With
tbl.Close
Set tbl = Nothing
CurrentDb.Close
ElseIf Weekday(v_sabado) = 7 Then
ii = ii + 1
Set tbl = CurrentDb.OpenRecordset([Ô]tbl_outros_parametros_semana[Ô])
With tbl
.AddNew
!num_semana = ii
!data_ini = v_domingo
!data_fin = v_sabado
.Update
End With
tbl.Close
Set tbl = Nothing
CurrentDb.Close
End If
Next i
Me.tbl_outros_parametros_semana_subform.Requery
End Sub
Acho que isso pode lhe ajudar.
Não consegui anexar o arquivo quando fui editar. Não sei pq, mas ele diz [Ô]formato inválido[Ô]....
LUCIANORW,
Não sei se entendi o que vc quer mas se vc usar esta função jogando uma data como parametro, ele traz a semana que vc deseja.
Exemplo:
Dia_Semana = DatePart([Ô]ww[Ô], [Ô]30/01/2009[Ô])
Thiago.
Não sei se entendi o que vc quer mas se vc usar esta função jogando uma data como parametro, ele traz a semana que vc deseja.
Exemplo:
Dia_Semana = DatePart([Ô]ww[Ô], [Ô]30/01/2009[Ô])
Thiago.
Tópico encerrado , respostas não são mais permitidas