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]Aulas previstas por disciplina e turma entre datas descontando os feriados

    avatar
    lfms
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 2
    Registrado : 01/01/2011

    [Resolvido]Aulas previstas por disciplina e turma entre datas descontando os feriados Empty [Resolvido]Aulas previstas por disciplina e turma entre datas descontando os feriados

    Mensagem  lfms 25/8/2015, 11:18

    Gostaria de ajuda para conseguir realizar uma consulta que me permita descobrir quantas aulas estão previstas para cada disciplina, em cada ano letivo, ano de escolaridade, disciplina e turma.
    Agradeço desde já a todos os que puderem dar uma ajuda.

    Ficheiro feriados


    Última edição por lfms em 26/8/2015, 18:49, editado 1 vez(es)
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Aulas previstas por disciplina e turma entre datas descontando os feriados Empty Re: [Resolvido]Aulas previstas por disciplina e turma entre datas descontando os feriados

    Mensagem  JPaulo 26/8/2015, 15:42

    Ola Luis, tudo jóia ?

    Pelo que vi, antes de mais tens de juntar as 3 tabelas dos feriados, com uma consulta de União;

    Código:
    SELECT CDate(Trim([Dia_feriado_fixo]) & "-" & Trim([Mes_feriado_fixo]) & "-" & Year(Date())) AS Feriado
    FROM feriados_fixos
    UNION
    SELECT CDate(Data_feriado_movel) AS Moveis
    FROM feriados_moveis
    UNION
    SELECT CDate(Trim([Dia]) & "-" & Trim([Mes]) & "-" & Year(Date())) AS Fixos
    FROM feriados_municipais
    GROUP BY CDate(Trim([Dia]) & "-" & Trim([Mes]) & "-" & Year(Date()));

    Depois para calcular as Segundas-feiras, terças-feiras, etc... no intervalo das datas do periodo, sem contar com os feriados, é assim;

    Código:
    SELECT gestao_periodos.ID_gestao_periodos, gestao_periodos.Nome_escola, gestao_periodos.Ano_letivo, gestao_periodos.Ano_escolaridade, gestao_periodos.Inicio_3p, gestao_periodos.Fim_3p, DateDiff("ww",[Inicio_3p],[Fim_3p],2)-(Weekday([Inicio_3p])=2)-Nz(DCount("*","Feriados","Feriado Between #" & Format([Inicio_3p],'mm/dd/yyyy') & "# AND #" & Format([Fim_3p],'mm/dd/yyyy') & "# AND Weekday([Feriado])=2"),0) AS [Segundas-feiras], DateDiff("ww",[Inicio_3p],[Fim_3p],3)-(Weekday([Inicio_3p])=3)-Nz(DCount("*","Feriados","Feriado Between #" & Format([Inicio_3p],'mm/dd/yyyy') & "# AND #" & Format([Fim_3p],'mm/dd/yyyy') & "# AND Weekday([Feriado])=3"),0) AS [Terças-feiras], DateDiff("ww",[Inicio_3p],[Fim_3p],4)-(Weekday([Inicio_3p])=4)-Nz(DCount("*","Feriados","Feriado Between #" & Format([Inicio_3p],'mm/dd/yyyy') & "# AND #" & Format([Fim_3p],'mm/dd/yyyy') & "# AND Weekday([Feriado])=4"),0) AS [Quartas-feiras], DateDiff("ww",[Inicio_3p],[Fim_3p],5)-(Weekday([Inicio_3p])=5)-Nz(DCount("*","Feriados","Feriado Between #" & Format([Inicio_3p],'mm/dd/yyyy') & "# AND #" & Format([Fim_3p],'mm/dd/yyyy') & "# AND Weekday([Feriado])=5"),0) AS [Quintas-feiras], DateDiff("ww",[Inicio_3p],[Fim_3p],6)-(Weekday([Inicio_3p])=6)-Nz(DCount("*","Feriados","Feriado Between #" & Format([Inicio_3p],'mm/dd/yyyy') & "# AND #" & Format([Fim_3p],'mm/dd/yyyy') & "# AND Weekday([Feriado])=6"),0) AS [Sextas-feiras]
    FROM gestao_periodos
    GROUP BY gestao_periodos.ID_gestao_periodos, gestao_periodos.Nome_escola, gestao_periodos.Ano_letivo, gestao_periodos.Ano_escolaridade, gestao_periodos.Inicio_3p, gestao_periodos.Fim_3p, DateDiff("ww",[Inicio_3p],[Fim_3p],3)-(Weekday([Inicio_3p])=3)-Nz(DCount("*","Feriados","Feriado Between #" & Format([Inicio_3p],'mm/dd/yyyy') & "# AND #" & Format([Fim_3p],'mm/dd/yyyy') & "# AND Weekday([Feriado])=3"),0), DateDiff("ww",[Inicio_3p],[Fim_3p],4)-(Weekday([Inicio_3p])=4)-Nz(DCount("*","Feriados","Feriado Between #" & Format([Inicio_3p],'mm/dd/yyyy') & "# AND #" & Format([Fim_3p],'mm/dd/yyyy') & "# AND Weekday([Feriado])=4"),0), DateDiff("ww",[Inicio_3p],[Fim_3p],5)-(Weekday([Inicio_3p])=5)-Nz(DCount("*","Feriados","Feriado Between #" & Format([Inicio_3p],'mm/dd/yyyy') & "# AND #" & Format([Fim_3p],'mm/dd/yyyy') & "# AND Weekday([Feriado])=5"),0), DateDiff("ww",[Inicio_3p],[Fim_3p],6)-(Weekday([Inicio_3p])=6)-Nz(DCount("*","Feriados","Feriado Between #" & Format([Inicio_3p],'mm/dd/yyyy') & "# AND #" & Format([Fim_3p],'mm/dd/yyyy') & "# AND Weekday([Feriado])=6"),0);

    *Segue a base para continuares com o restante, apenas fiz para o 3º Periodo;
    ** Vai um modulo com a função de criar os feriados moveis.
    *** Alterei a tabela dos feriados moveis.


    http://dl.dropboxusercontent.com/u/771097/feriados_OLD.zip


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Aulas previstas por disciplina e turma entre datas descontando os feriados Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Aulas previstas por disciplina e turma entre datas descontando os feriados Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Aulas previstas por disciplina e turma entre datas descontando os feriados Folder_announce_new Instruções SQL como utilizar...

      Data/hora atual: 7/5/2024, 07:53