MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    [Resolvido]número da semana no mês

    Jaspion
    Jaspion
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 26/01/2013

    [Resolvido]número da semana no mês Empty número da semana no mês

    Mensagem  Jaspion 10/5/2013, 02:01

    Boa noite pessoal,

    Venho mais uma vez recorrer a vocês para outra dúvida, eu preciso retornar o número da semana no mês, lendo tópicos anteriores eu cheguei ao código:

    numerodasemana = DatePart("ww", Now()) - DatePart("ww", DateSerial(Year(Now()), Month(Now()), 1)) + 1

    Funciona bem, mas o importante pra mim é se a semana começar na quarta por exemplo, de quarta a terça é a primeira semana, e assim sucessivamente. Se começar na sexta, de sexta a quinta é a primeira semana.

    É possível fazer isso? Alguém sabe como?

    Obrigado
    avatar
    Convidado
    Convidado


    [Resolvido]número da semana no mês Empty Re: [Resolvido]número da semana no mês

    Mensagem  Convidado 11/5/2013, 20:29

    DiaSemana = WeekdayName(Weekday(SuaData)) >>> Para o nome da semana
    DiaSemana = Weekday(DataRef) >>> Para o número da semana

    Cumprimentos.
    Jaspion
    Jaspion
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 26/01/2013

    [Resolvido]número da semana no mês Empty Re: [Resolvido]número da semana no mês

    Mensagem  Jaspion 17/5/2013, 00:36

    Olá, obrigado pela ajuda mas talvez eu tenha explicado mau.

    O que eu estou procurando é o seguinte, por exemplo hoje 16/05/2013 é a terceira quinta feira do mês. Eu quero um código que retorne no caso o número 3.

    Esse mês de maio/2013 começa em uma quarta, então da quarta dia 1 até terça dia 7, ele tem que retornar o número 1 da primeira semana, aí da quarta dia 8 até terça dia 14 ele retorna 2 da segunda semana, e assim vai até do dia 29 ao 31 que retorna o 5 de quinta semana. É possível algo do tipo?

    Obrigado
    avatar
    Convidado
    Convidado


    [Resolvido]número da semana no mês Empty Re: [Resolvido]número da semana no mês

    Mensagem  Convidado 17/5/2013, 12:38

    Então seria por mês? Talvez um código que identifique o mes, estraria o primeiro dia, cheque que dia da semana ;e e um loop pelos dias identificando de 7 em 7 dias qual dia da semana seria ..

    É isto?

    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]número da semana no mês Empty Re: [Resolvido]número da semana no mês

    Mensagem  Convidado 17/5/2013, 13:50

    Em um botão coloque este código, clique e veja se consegue entender e adaptar para o que precisa


    Private Sub Comando0_Click()
    Dim IntDiaAtual As Integer
    Dim DiaSemana
    Dim X As Integer
    IntDiaAtual = Format(Date, "dd")

    For X = 1 To 7
    If X = IntDiaAtual Then
    DiaSemana = WeekdayName(Weekday(Now))
    MsgBox DiaSemana
    DiaSemana = Weekday(Now())
    MsgBox DiaSemana
    MsgBox "Primeira Semana do Mês", vbExclamation, "ATENÇAO"
    End If
    Next X

    For X = 8 To 14
    If X = IntDiaAtual Then
    DiaSemana = WeekdayName(Weekday(Now))
    MsgBox DiaSemana
    DiaSemana = Weekday(Now())
    MsgBox DiaSemana
    MsgBox "Segunda Semana do Mês", vbExclamation, "ATENÇAO"
    End If
    Next X
    For X = 15 To 21
    If X = IntDiaAtual Then
    DiaSemana = WeekdayName(Weekday(Now))
    MsgBox DiaSemana
    DiaSemana = Weekday(Now())
    MsgBox DiaSemana
    MsgBox "Terceira Semana do Mês", vbExclamation, "ATENÇAO"
    End If
    Next X

    For X = 22 To 28
    If X = IntDiaAtual Then
    DiaSemana = WeekdayName(Weekday(Now))
    MsgBox DiaSemana
    DiaSemana = Weekday(Now())
    MsgBox DiaSemana
    MsgBox "Quarta Semana do Mês", vbExclamation, "ATENÇAO"
    End If
    Next X

    End Sub


    Cumprimentos.
    avatar
    fjofabio
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 27/03/2012

    [Resolvido]número da semana no mês Empty Re: [Resolvido]número da semana no mês

    Mensagem  fjofabio 20/5/2013, 12:39

    Bom dia,
    Pelo que entendi, você está querendo obter a semana atual, seria isso?
    Se sim, de uma olhada na função DateDiff.
    Ela retorna a diferença entre duas datas.
    você pode definir a data inicial como sendo o primeiro dia do mês e a data final como sendo a data atual ou a data desejada.
    Essa diferença entre as duas datas pode ser medida em Ano ,Trimestre ,Mês ,Dia do ano ,Dia ,Dia da semana ,Semana ,Hora ,Minuto ou Segundo.
    Faça um teste, acho que algo mais ou menos assim deve ajudar:

    Function diaSemana() As Integer
    Dim dataInicial As Date
    dataInicial = "1/" & Month(Date) & "/" & Year(Date)
    diaSemana = DateDiff("ww", dataInicial, Date)
    End Function


    Última edição por fjofabio em 20/5/2013, 22:43, editado 1 vez(es)
    avatar
    fjofabio
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 27/03/2012

    [Resolvido]número da semana no mês Empty Re: [Resolvido]número da semana no mês

    Mensagem  fjofabio 20/5/2013, 13:03

    Mais um exemplo:

    Function Semana() As Integer
    Dim dataInicial As Date
    dataInicial = "1/" & Month(Date) & "/" & Year(Date)
    Dim primeiroDiaSemana As VbDayOfWeek
    Select Case Format(dataInicial, "dddd")
    Case "segunda-feira"
    primeiroDiaSemana = vbMonday
    Case "terça-feira"
    primeiroDiaSemana = vbTuesday
    Case "quarta-feira"
    primeiroDiaSemana = vbWednesday
    Case "quinta-feira"
    primeiroDiaSemana = vbThursday
    Case "sexta-feira"
    primeiroDiaSemana = vbFriday
    Case "sábado"
    primeiroDiaSemana = vbSaturday
    Case Else
    primeiroDiaSemana = vbSunday
    End Select
    Semana = DateDiff("ww", dataInicial, Date, primeiroDiaSemana) + 1
    MsgBox "Semana atual " & Semana, vbInformation, "Teste"
    End Function

    att.
    avatar
    Convidado
    Convidado


    [Resolvido]número da semana no mês Empty Re: [Resolvido]número da semana no mês

    Mensagem  Convidado 20/5/2013, 16:18

    Muito boa a função Fabio.

    Cumprimentos.
    Jaspion
    Jaspion
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 26/01/2013

    [Resolvido]número da semana no mês Empty Re: [Resolvido]número da semana no mês

    Mensagem  Jaspion 20/5/2013, 23:55

    Boa noite pessoal,

    Piloto, funcionou perfeitamente e de uma maneira bem simples, é isso o que eu estava procurando, achei bem legal a maneira como você formulou. Muito obrigado.

    Fabio, é sempre bom conhecer outras opções, depois vou testar a sua dica, obrigado.

    Very Happy
    avatar
    Convidado
    Convidado


    [Resolvido]número da semana no mês Empty Re: [Resolvido]número da semana no mês

    Mensagem  Convidado 21/5/2013, 01:44

    Boas Jaspion, o código do fábio é mais simples e mais funcional.

    Cumprimentos.

    Conteúdo patrocinado


    [Resolvido]número da semana no mês Empty Re: [Resolvido]número da semana no mês

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 6/5/2024, 19:44