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

    Intervalo de Datas - Inicial e Final

    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    Intervalo de Datas - Inicial e Final Empty Intervalo de Datas - Inicial e Final

    Mensagem  Luiz Carlos Junior 24/9/2014, 13:34

    Bom dia Mestres.
    Tenho uma tabela com as faltas dos funcionários da escola (tb_Faltas), onde as mesmas são separadas por tipo (abonada, licença médica, etc.).
    Preciso colocar em um relatório as datas iniciais e finais de intervalos de licença médica, por exemplo:

    A funcionária X tem faltas de licença médica nos dias 15, 16, 17/07 e 21, 22, 23 24/07.
    No relatório (rel_FichaCem) deve sair assim: Licença Médica de 15/07/2014 a 17/07/2014
    Licença Médica de 21/07/2014 a 24/07/2014

    É possível isso?
    Agradeço desde já.

    Abrasss!!!
    Kebao10
    Kebao10
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 78
    Registrado : 16/07/2011

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Kebao10 24/9/2014, 14:40

    No campo [datainicial] por exemplo você coloca na fonte do controle


    Código:
       DMín("CampoDtlicença";"SuaTabela";"SeuCriterio")

    e no campo [datafinal]


     
    Código:
    DMáx("CampoDtlicença";"SuaTabela";"SeuCriterio")
    Kebao10
    Kebao10
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 78
    Registrado : 16/07/2011

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Kebao10 24/9/2014, 14:47

    Ou faz melhor dentro de uma única textbox não acoplada coloca a fonte de controle tipo assim:

    Código:
    ="Licença Médica de " & DMín("CampoDtlicença";"SuaTabela";"SeuCriterio") & " a " & DMáx("CampoDtlicença";"SuaTabela";"SeuCriterio") & "."
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Luiz Carlos Junior 24/9/2014, 15:22

    Opa, blz?
    Penso que nesse caso ele mostrará:  Licença Médica de 15/07/2014 a 24/07/2014, mas quero que mostre os dois intervalos separados, como no exemplo.
    Além disso, os campos não podem ser acoplados, pois, não existe um número certo de licenças em um ano.

    Abrasss!!!
    Kebao10
    Kebao10
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 78
    Registrado : 16/07/2011

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Kebao10 24/9/2014, 15:35

    Nesse caso vocês vai que criar um campo que ligue uma mesma licença tipo assim 15, 16, 17/07 o [LincençaN°] ou [Descrição] ai você vai colocar isto no critério do campo lá.
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Luiz Carlos Junior 24/9/2014, 17:29

    Não dá pra criar um campo pra cada licença, ia ficar gigante.
    Tem funcionária que tira 6, 7 licenças por ano.
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Luiz Carlos Junior 26/9/2014, 14:14

    Alguém tem alguma luz pra me dar?
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Luiz Carlos Junior 29/9/2014, 13:21

    Bom início de semana mestres.
    Alguém pode me ajudar nessa dúvida, pois, preciso terminar esta parte para uso neste mês.
    Grato.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7934
    Registrado : 05/11/2009

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Alexandre Neves 29/9/2014, 19:07

    Boa tarde,
    Sem dados, é difícil


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Luiz Carlos Junior 30/9/2014, 18:19

    Boa tarde Alexandre.
    Separei a parte que serve do BD (Ficha CEM) e estou encaminhando em anexo.
    Ao abrir o BD, abra o form Funcionários, na caixa REG, digite 1 e de Enter. Irá aparecer os dados de um funcionários que criei para dar o exemplo do que quero.
    Depois, clique em "Relatórios Individuais", "Ficha Cem". Abrirá um outro formulário (que quero eliminar, por isso a dúvida em questão). Clique em Ok.
    O relatório será criado na Pasta Relatórios que está dentro da pasta principal.
    Na página 2 estão os campos que preciso que preencha sozinho se acordo com as tabelas de faltas e Abonadas.
    Repare que neste exemplo as faltas Abonadas e TRE preenchem perfeitamente.
    O que quero e que no espaço "Licenças", qualquer tipo de licença que esteja na tabela faltas, entre ali nesta formatação:

    No exemplo coloquei faltas de Licença Médica na tabela nos dias: 15, 16 e 17/07 e 21, 22, 23 e 24/07.

    A formatação para preenchimento seria a seguinte: (Caixa de texto 1) Licença Médica de 15/07 a 17/07
                                                                              (Caixa de texto 2) Licença Médica de 22/07 a 24/07

    Não sei se ficou claro, mas qualquer dúvida explico melhor.

    PS: A pasta, depois de zipada, deve ser salva na pasta "C:\" para que não dê erro nos testes.

    Agradeço a atenção desde já.

    Abrasss!!!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7934
    Registrado : 05/11/2009

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Alexandre Neves 30/9/2014, 19:15

    Abri, mas não tenhoa opção de impressão escolhida, etc.
    Sem rodeios, quer trabalhar o relatório rel_FichaCem? se sim, explique como pretende o preenchimento


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Luiz Carlos Junior 1/10/2014, 12:26

    Como disse, tive que desmembrar meu programa e alguma coisas não funcionam. Mas se seguir os passos que passei o relatório funciona, pelo menos aqui funcionou.
    A parte que falta é a que indiquei.
    Preciso que pegue a data inicial e a final de cada período de Licença Médica e que saia na página 2 do formulário 1 período para cada caixa de texto correspondente.
    Exemplo que deixei:

    15, 16 e 17/07 - Tem que sair assim na caixa de texto 1 (txtLic1): Licença Médica de 15/07 a 17/07
    21, 22, 23 e 24/07 - Tem que sair assim na caixa de texto 2 (txtLic2): Licença Médica de 21/07 a 24/07

    Não entendi seu comentário "opção de impressão escolhida...", o que seria para que eu possa arrumar?

    Agradeço a atenção.

    Abrasss!!!
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Luiz Carlos Junior 6/10/2014, 12:17

    Sei que posso parecer chato, mas preciso desta ajuda pra finalizar essa melhoria do programa para usá-lo nesta quinzena ainda.
    Alguma ajuda por favor?

    Mestre Alexandre, entendeu minha explicação?

    Desde já agradeço.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7934
    Registrado : 05/11/2009

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Alexandre Neves 6/10/2014, 17:31

    Boa tarde,
    Sobre a opção de impressão, referi-me à instrução "DoCmd.OutputTo acOutputReport, "rel_FichaCem", acFormatPDF, strLocal". Vamos deixar isto para depois, se for preciso.

    Parece-me que está a precisar de preencher o formulário FichaCem. É isto? Se sim, explique onde se vai buscar os dados para preenchimento.


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Luiz Carlos Junior 7/10/2014, 12:27

    Bom dia Alexandre.
    Quero me livrar do formulário Ficha Cem.
    Quero que ao clicar no botão "Ficha Cem" no Form_Funcionários", faça a mesma função que o botão OK do Form_FichaCem, que é criar o relatório rel_FichaCem com os dados completos já.
    A única coisa que preciso para isso é que ele preencha os campos de Licenças (página 2 do relatório) com as Licenças Médicas, Gestantes, Gala, etc. (Tudo que começar com "Licença".
    Se você reparar, no final das linhas de código do relatório, o Mestre JPaulo me deu uma luza de como preencher os campos Abonadas, Outros, etc., na página 2 tb.
    Só que preciso no campo de Licenças que mostre como intervalo de datas neste modelo:

    Se a funcionária tem esses dias de Licença Médica (dados que estão na tb_Faltas), preciso que pegue o primeiro dia do período e o último e saia do jeito abaixo:

    15, 16 e 17/07 - Tem que sair assim na caixa de texto 1 (txtLic1): LM: 15/07 a 17/07
    21, 22, 23 e 24/07 - Tem que sair assim na caixa de texto 2 (txtLic2): Licença Médica de 21/07 a 24/07

    Veja na figura:

    [img]Intervalo de Datas - Inicial e Final 5n6pah[/img]

    Existem 12 caixas de texto (txtLic1, txtLic2...txtLic12) e é nelas que quero que fique do jeito da figura.

    Meio complicado, mas espero que tenha entendido o que quero.

    Grato desde já.

    Abrasss!!!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7934
    Registrado : 05/11/2009

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Alexandre Neves 7/10/2014, 17:39

    Boa tarde,
    Vamos, então, trabalhar só com o relatório para o funcionário 1. Quando o relatório estiver a funcionar como pretende, far-se-á a ligação entre o formulário e o relatório
    Para o módulo do relatório (completo)

    Clique aqui para ver o código - Alterado por Noobezinho:

    Option Compare Database
    Option Explicit

    Private Sub Report_Load()

    Dim intCont, intCont2, intCont3, intNum, intDia, DataFim, intHTP, intContHTP As Integer
    Dim strMes, strMes1, strAno As String
    Dim db As DAO.Database
    Dim rsFaltas, rs, rsFeriadosCEM, rsRecessoCEM As DAO.Recordset
    Dim intCount, intCount2, intCount3, intCount4, intRemovida As Integer
    Dim strReg As String
    Dim strFerias1, strFerias2, strTipoFeriado, strRecesso As String
    Dim strRec1, strRec2, strRec3, strRec4 As String

    'strReg = Nz(Form_Funcionários.txtREG_FUNC.Value)
    strReg = 1
    Me.txtREG.Value = strReg

    Set db = CurrentDb
    Set rs = db.OpenRecordset("Select [CARGO], [2013], [2014], [NOME_FUNC] from tb_Func where [REG_FUNC] = " & strReg & "")

    strAno = Format(Form_Funcionários.txtDataAtual, "yyyy")

    Me.txtANO.Value = strAno
    Me.txtANO1.Value = strAno - 1

    Me.txtNOME.Value = rs("NOME_FUNC")
    Me.txtCARGO.Value = rs("CARGO")
    Me.txtUE.Value = DLookup("[Nome_Escola]", "tb_DadosEscola")
    Me.txtLOCAL.Value = DLookup("[Nome_Escola]", "tb_DadosEscola")
    'Me.imgLogo.Picture = DLookup("[Logo]", "tb_DadosEscola")

    'strFerias1 = Nz(Forms.FichaCem.txtFerias1)
    'strFerias2 = Nz(Forms.FichaCem.txtFerias2)
    'strRec1 = Nz(Forms.FichaCem.txtRecesso1)
    'strRec2 = Nz(Forms.FichaCem.txtRecesso2)
    'strRec3 = Nz(Forms.FichaCem.txtRecesso3)
    'strRec4 = Nz(Forms.FichaCem.txtRecesso4)
    '
    'If Not IsNull(Forms.FichaCem.txtFerias1) Then
    '    Me.txtFerias1 = " Férias - " & strFerias1 & " à " & strFerias2 & ""
    'Else
    '    Me.txtFerias1 = ""
    'End If
    'If Not IsNull(Forms.FichaCem.txtRecesso1) Then
    '    Me.txtFerias2.Value = " Recesso Escolar - " & strRec1 & " à " & strRec2 & ""
    'Else
    '    Me.txtFerias2.Value = ""
    'End If
    'If Not IsNull(Forms.FichaCem.txtRecesso3) Then
    '    Me.txtFerias3.Value = " Recesso Escolar - " & strRec3 & " à " & strRec4 & ""
    'Else
    '    Me.txtFerias3.Value = ""
    'End If
    '
    'Me.txtObs1.Value = Forms.FichaCem.txtObs1.Value
    'Me.txtObs2.Value = Forms.FichaCem.txtObs2.Value
    'Me.txtObs3.Value = Forms.FichaCem.txtObs3.Value
    Dim Rst As DAO.Recordset, PrimeiroDia As Date, UltimoDia As Date, NrTxt As Byte, MotivoFalta As String
    Set Rst = CurrentDb.OpenRecordset("SELECT Data_Falta, Motivo_Falta FROM tb_Faltas WHERE Left(Motivo_Falta,7)='Licença' and Nome='" & rs("NOME_FUNC") & "' ORDER BY Motivo_Falta, Data_Falta;")
    'poderá ser revisto para considerar datas em falta que não sejam dias de trabalho (Sábado, Domingo, Feriado, etc)
    NrTxt = 0
    Do While Not Rst.EOF
       If Rst.AbsolutePosition = 0 Then
           PrimeiroDia = Rst("Data_Falta")
           UltimoDia = Rst("Data_Falta")
           MotivoFalta = Rst("Motivo_Falta")
       ElseIf Rst("Data_Falta") = DateAdd("d", 1, UltimoDia) And Rst("Motivo_Falta") = MotivoFalta Then
           UltimoDia = Rst("Data_Falta")
       Else
           NrTxt = NrTxt + 1
           If PrimeiroDia = UltimoDia Then
               Me("txtLic" & NrTxt) = MotivoFalta & ": " & PrimeiroDia
           Else
               Me("txtLic" & NrTxt) = MotivoFalta & ": de " & PrimeiroDia & " a " & UltimoDia
           End If
           PrimeiroDia = Rst("Data_Falta")
           UltimoDia = Rst("Data_Falta")
           MotivoFalta = Rst("Motivo_Falta")
       End If
       Rst.MoveNext
    Loop
    Set Rst = Nothing

    For intNum = 1 To 12
       Select Case intNum
           Case 1
               strMes = "Jan"
               strMes1 = "janeiro"
               DataFim = "31"
           Case 2
               If strAno Mod 400 = 0 Or (strAno Mod 4 = 0 And strAno Mod 100 <> 0) Then
               strMes = "Fev"
               strMes1 = "fevereiro"
               DataFim = "29"
               Else
               strMes = "Fev"
               strMes1 = "fevereiro"
               DataFim = "28"
           End If
           Case 3
               strMes = "Mar"
               strMes1 = "março"
               DataFim = "31"
           Case 4
               strMes = "Abr"
               strMes1 = "Abril"
               DataFim = "30"
           Case 5
               strMes = "Mai"
               strMes1 = "maio"
               DataFim = "31"
           Case 6
               strMes = "Jun"
               strMes1 = "junho"
               DataFim = "30"
           Case 7
               strMes = "Jul"
               strMes1 = "julho"
               DataFim = "31"
           Case 8
               strMes = "Ago"
               strMes1 = "agosto"
               DataFim = "31"
           Case 9
               strMes = "Set"
               strMes1 = "setembro"
               DataFim = "30"
           Case 10
               strAno = strAno - 1
               strMes = "Out"
               strMes1 = "outubro"
               DataFim = "31"
           Case 11
               strMes = "Nov"
               strMes1 = "novembro"
               DataFim = "30"
           Case 12
               strMes = "Dez"
               strMes1 = "dezembro"
               DataFim = "31"
       End Select

    For intCont = 1 To DataFim

    Set rsFeriadosCEM = db.OpenRecordset("Select [Dia_Feriado], [Tipo_Feriado] from tb_FeriadosCEM where [Dia_Feriado] = " & intCont & _
    " And [Mes_Feriado] = " & intNum & "")

    If rsFeriadosCEM.RecordCount <> 0 Then strTipoFeriado = rsFeriadosCEM("Tipo_Feriado")

    Set rsRecessoCEM = db.OpenRecordset("Select [Dia_Recesso] from tb_RecessoCEM where [Dia_Recesso] = " & intCont & _
    " And [Mes_Recesso] = " & intNum & "")

    If rsRecessoCEM.RecordCount <> 0 Then strRecesso = "RE"

    'Set rsFaltas = db.OpenRecordset("Select * From tb_Faltas Where [REG]=" & _
    strReg & " And [MES_FALTA]= '" & strMes1 & "' and [ANO] = " & strAno & "")
    Set rsFaltas = db.OpenRecordset("Select * From tb_Faltas Where [REG]=1 And [MES_FALTA]= '" & strMes1 & "' and [ANO] = " & strAno & "")

       If rsFaltas.RecordCount <> 0 Then rsFaltas.MoveFirst
       rsFaltas.FindFirst "DIA_FALTA=" & intCont
       If rsFaltas.NoMatch Then
           intDia = Weekday(intCont & "/" & intNum & "/" & strAno)

           Select Case intDia
               Case 1
                   Me("txt" & strMes & intCont).Value = "D"
                   Me("txt" & strMes & intCont).ForeColor = 25600
                   Me("txt" & strMes & intCont).BackColor = 12713921
                   Me("txt" & strMes & intCont).FontBold = True
               Case 2, 3, 4, 5, 6
                   Me("txt" & strMes & intCont).Value = "C"
                   Me("txt" & strMes & intCont).ForeColor = 16711680
               Case 7
                   Me("txt" & strMes & intCont).Value = "S"
                   Me("txt" & strMes & intCont).ForeColor = 25600
                   Me("txt" & strMes & intCont).BackColor = 12713921
                   Me("txt" & strMes & intCont).FontBold = True
           End Select

    '=====================================================================================
    'Grava nas caixas de texto respectivas aos dias de faltas
    '=====================================================================================
       
       Else
           Select Case rsFaltas("MOTIVO_FALTA")
               Case "ABONADA"
                   Me("txt" & strMes & intCont).Value = "FA"
                   Me("txt" & strMes & intCont).ForeColor = 14822282
                   Me("txt" & strMes & intCont).FontBold = True
               Case "FÉRIAS"
                   Me("txt" & strMes & intCont).Value = "F"
                   Me("txt" & strMes & intCont).FontBold = True
               Case "LICENÇA MÉDICA"
                   Me("txt" & strMes & intCont).Value = "LM"
               Case "LICENÇA GESTANTE"
                   Me("txt" & strMes & intCont).Value = "LG"
               Case "LICENÇA GALA"
                   Me("txt" & strMes & intCont).Value = "LC"
               Case "LICENÇA PRÉ_NATAL"
                   Me("txt" & strMes & intCont).Value = "LPN"
               Case "LICENÇA PRÊMIO"
                   Me("txt" & strMes & intCont).Value = "LP"
               Case "LICENÇA NOJO"
                   Me("txt" & strMes & intCont).Value = "LN"
               Case "TRE"
                   Me("txt" & strMes & intCont).Value = "TRE"
               Case "DOAÇÃO DE SANGUE"
                   Me("txt" & strMes & intCont).Value = "DS"
               Case "FALTA INJUSTIFICADA"
                   Me("txt" & strMes & intCont).Value = "FI"
               Case "FALTA JUSTIFICADA"
                   Me("txt" & strMes & intCont).Value = "FJ"
               Case "ATESTADO MÉDICO"
                   Me("txt" & strMes & intCont).Value = "FJ"
               Case "FALTA HTP"
                   Me("txt" & strMes & intCont).Value = "C"
           End Select
                   
           For intCont2 = 1 To 12
               Select Case Form_FichaCem("cmbLic" & intCont2).Value
                   Case "Licença Médica"
                   If IsNull(Form_FichaCem("txtLic" & intCont2 + 12)) Then
                       Me("txtLic" & intCont2).Value = "LM: " & Form_FichaCem("txtLic" & intCont2).Value
                   Else
                       Me("txtLic" & intCont2).Value = "LM: " & Form_FichaCem("txtLic" & intCont2).Value & _
                       " à " & Form_FichaCem("txtLic" & intCont2 + 12).Value
                   End If
                   Case "Licença Gestante"
                       Me("txtLic" & intCont2).Value = "LG: " & Form_FichaCem("txtLic" & intCont2).Value & _
                       " à " & Form_FichaCem("txtLic" & intCont2 + 12).Value
                   Case "Licença sem Vencimentos"
                       Me("txtLic" & intCont2).Value = "LV: " & Form_FichaCem("txtLic" & intCont2).Value & _
                       " à " & Form_FichaCem("txtLic" & intCont2 + 12).Value
                   Case "Licença Gala"
                       Me("txtLic" & intCont2).Value = "LC: " & Form_FichaCem("txtLic" & intCont2).Value & _
                       " à " & Form_FichaCem("txtLic" & intCont2 + 12).Value
                   Case "Licença Nojo"
                       Me("txtLic" & intCont2).Value = "LN: " & Form_FichaCem("txtLic" & intCont2).Value & _
                       " à " & Form_FichaCem("txtLic" & intCont2 + 12).Value
               End Select
           Next intCont2
                 
       End If
           
       If Me("txt" & strMes & intCont).Value <> "S" And Me("txt" & strMes & intCont).Value <> "D" And _
       Me("txt" & strMes & intCont).Value <> "-" And Me("txt" & strMes & intCont).Value <> "" _
       And Me("txt" & strMes & intCont).Value <> "FN/D" And Me("txt" & strMes & intCont).Value <> "FE/D" And _
       Me("txt" & strMes & intCont).Value <> "FN/S" _
       And Me("txt" & strMes & intCont).Value <> "FM/S" And Me("txt" & strMes & intCont).Value <> "FE/S" Then
          intCount = intCount + 1
       End If
       
       If ((strMes <> "Out") Or (strMes <> "Nov") Or (strMes <> "Dez")) And Me("txt" & strMes & intCont).Value <> "-" Then
           If Me("txt" & strMes & intCont).Value <> "S" And Me("txt" & strMes & intCont).Value <> "D" _
           And Me("txt" & strMes & intCont).Value <> "FN/D" And Me("txt" & strMes & intCont).Value <> "FE/D" And _
           Me("txt" & strMes & intCont).Value <> "FN/S" And Me("txt" & strMes & intCont).Value <> "FM/S" And _
           Me("txt" & strMes & intCont).Value <> "FE/S" Then
              intRemovida = intRemovida + 1
           End If
       End If
       
       If Me("txt" & strMes & intCont).Value <> "FI" And Me("txt" & strMes & intCont).Value <> "-" Then
           intCount2 = intCount2 + 1
       End If
           Me("txtComp" & intNum).Value = intCount2
           
       If Me("txt" & strMes & intCont).Value = "FI" Then
           intCount3 = intCount3 + 1
       End If
           Me("txtAfast" & intNum).Value = intCount3
           
    '=====================================================================================
    'Grava nas caixas de texto respectivas aos dias de feriados, as siglas dos mesmos
    '=====================================================================================

    If rsFeriadosCEM.RecordCount <> 0 Then rsFeriadosCEM.MoveFirst
       rsFeriadosCEM.FindFirst "Dia_Feriado=" & intCont
    If rsFeriadosCEM.NoMatch Then
       intDia = Weekday(intCont & "/" & intNum & "/" & strAno)
    Else
       Me("txt" & strMes & intCont).ForeColor = vbRed
       If intDia = 1 Then
           Me("txt" & strMes & intCont).Value = strTipoFeriado & "/D"
           Me("txt" & strMes & intCont).BackColor = 12713921
           Me("txt" & strMes & intCont).FontSize = 8
       ElseIf intDia = 7 Then
           Me("txt" & strMes & intCont).Value = strTipoFeriado & "/S"
           Me("txt" & strMes & intCont).BackColor = 12713921
           Me("txt" & strMes & intCont).FontSize = 8
       Else
           Me("txt" & strMes & intCont).Value = strTipoFeriado
       End If
    End If

    '=====================================================================================
    ''Grava nas caixas de texto respectivas aos dias de Recesso Escolar
    '=====================================================================================

    If rsRecessoCEM.RecordCount <> 0 Then rsRecessoCEM.MoveFirst
       rsRecessoCEM.FindFirst "Dia_Recesso=" & intCont
    If rsRecessoCEM.NoMatch Then
       intDia = Weekday(intCont & "/" & intNum & "/" & strAno)
    Else
       Me("txt" & strMes & intCont).Value = strRecesso
       Me("txt" & strMes & intCont).ForeColor = 25600
       Me("txt" & strMes & intCont).BackColor = 65535
       Me("txt" & strMes & intCont).FontBold = True
    End If
       
    '======================================================================================
    'Caso seja professor que trabalhou alguns dias, fazer as alterações no código abaixo:
    '======================================================================================

    If rs("2013") = "NÃO" Then
       Me.txtFerias2 = Empty
       Me.txtObs1.Value = "Início das atividades nesta U.E. no dia 01/01/2014."
           If (intNum = 10 Or intNum = 11 Or intNum = 12 Or intNum = 1) Then
               Me("txt" & strMes & intCont).Value = "-"
               Me("txt" & strMes & intCont).BackColor = 9145219
           End If
    End If
           
    If rs("2014") = "NÃO" Then
       Me.txtFerias2 = Empty
       Me.txtObs1.Value = "Professora removida para outra U.E. a partir de 01/01/2014."
           Select Case intNum
               Case 1, 2, 3, 4, 5, 6, 7, 8, 9
               Me("txt" & strMes & intCont).Value = "-"
               Me("txt" & strMes & intCont).ForeColor = vbBlack
               Me("txt" & strMes & intCont).BackColor = 9145219
           End Select
    End If
           
           'Select Case intNum
               'Case 1, 2, 3, 4, 5, 6, 7, 8, 9
                   'Me("txt" & strMes & intCont).Value = "-"
                   'Me("txt" & strMes & intCont).BackColor = 9145219
           'End Select
           'If (intNum = 4 And intCont < 13) Then
               'Select Case intCont
                   'Case 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
                       'Me("txt" & strMes & intCont).Value = "-"
                       'Me("txt" & strMes & intCont).BackColor = 9145219
               'End Select
           'End If
    '------------------------------------------------------------------------------------
    '------------------------------------------------------------------------------------
       
    Next intCont

       If IsNull(Me("txtComp" & intNum).Value) Then
           Me("txtComp" & intNum).Value = 0
       End If
       
       If IsNull(Me("txtAfast" & intNum).Value) Then
           Me("txtAfast" & intNum).Value = 0
       End If
       
       intCont2 = intCount2
       intCont3 = intCount3
       
       intCount2 = 0
       intCount3 = 0

    Next intNum

    '======================================================================================
    'Faltas HTP
    '======================================================================================

    For intHTP = 1 To 9
       If Not IsNull(Me("txtHTPHoraFalta" & intHTP)) Then
           intContHTP = intContHTP + 1
       End If
    Next intHTP

    Me.txtHTPTotalFaltas.Value = intContHTP

    Me.txtHTPTotalHoras.Value = intCount

    If rs("2014") = "NÃO" Then
       Me.txtHTPTotalHoras.Value = intRemovida
    Else
       Me.txtCompTotal.Value = (Me.txtComp1) + (Me.txtComp2) + (Me.txtComp3) + (Me.txtComp4) + (Me.txtComp5) + _
       (Me.txtComp6) + (Me.txtComp7) + (Me.txtComp8) + (Me.txtComp9) + (Me.txtComp10) + (Me.txtComp11) + (Me.txtComp12)
       Me.txtAfastTotal.Value = (Me.txtAfast1) + (Me.txtAfast2) + (Me.txtAfast3) + (Me.txtAfast4) + (Me.txtAfast5) + _
       (Me.txtAfast6) + (Me.txtAfast7) + (Me.txtAfast8) + (Me.txtAfast9) + (Me.txtAfast11) + (Me.txtAfast12) + (Me.txtAfast10)
    End If

    If rs("CARGO") = "PPI" Then
       If Not IsNull(Me.txtHTPTotalFaltas.Value) Then
           Me.txtHTPComparecimento.Value = Me.txtHTPTotalHoras.Value - (Me.txtHTPTotalFaltas.Value * "1")
       Else
           Me.txtHTPComparecimento.Value = Me.txtHTPTotalHoras.Value
           Me.txtHTPTotalFaltas.Value = 0
       End If
       If Not IsNull(Me.txtHTPComparecimento.Value) Then Me.txtHTPComparecimento.Value = ConverteHoraTexto(Me.txtHTPComparecimento.Value)
       Me.txtHTPTotalHoras.Value = ConverteHoraTexto(Me.txtHTPTotalHoras.Value)
    ElseIf rs("CARGO") = "Secretário de Escola" Then
       Me.txtHTPTotalFaltas.Value = ""
       Me.txtHTPComparecimento.Value = ""
       Me.txtHTPTotalHoras.Value = ""
    Else
       If Not IsNull(Me.txtHTPTotalFaltas.Value) Then
           Me.txtHTPComparecimento.Value = Me.txtHTPTotalHoras.Value - (Me.txtHTPTotalFaltas.Value * "1")
       Else
           Me.txtHTPComparecimento.Value = Me.txtHTPTotalHoras.Value
           Me.txtHTPTotalFaltas.Value = 0
       End If
       If Not IsNull(Me.txtHTPComparecimento.Value) Then Me.txtHTPComparecimento.Value = ConverteHoraTexto(Me.txtHTPComparecimento.Value)
       Me.txtHTPTotalHoras.Value = ConverteHoraTexto(Me.txtHTPTotalHoras.Value)
    End If


    'By JPaulo © MaximoAccess
    Dim RsFaltas1 As DAO.Recordset
    Dim yColuna As Integer
    Dim db1 As DAO.Database
    Dim I As Integer

    Set db1 = CurrentDb

    'Preenche os campos relacionados as faltas do tipo FALTA HTP
     
    Set RsFaltas1 = db1.OpenRecordset("Select [DATA_FALTA], [MOTIVO_FALTA] From tb_Faltas where REG= " & Me.txtREG & _
    " And [MOTIVO_FALTA]= 'FALTA HTP' ORDER BY [DATA_FALTA]")
     
    If RsFaltas1.RecordCount <> 0 Then
       RsFaltas1.MoveLast
       RsFaltas1.MoveFirst
           For yColuna = 1 To RsFaltas1.RecordCount
               For I = 1 To 9 'referente a 9 caixas de texto
                   On Error Resume Next
                   Me.Controls("txtHTPDataFalta" & I).Value = RsFaltas1("DATA_FALTA")
                   If rs("CARGO") = "PPI" Then
                       Me.Controls("txtHTPHoraFalta" & I).Value = ConverteHoraTexto("1")
                   Else
                       Me.Controls("txtHTPHoraFalta" & I).Value = ConverteHoraTexto("2,50")
                   End If
       
                   RsFaltas1.MoveNext
               Next I
           Next yColuna
               RsFaltas1.Close
       Set RsFaltas1 = Nothing
    End If

    '======================================================================================
    'Faltas TRE
    '======================================================================================

    'Preenche os campos relacionados as faltas do tipo TRE
    Set RsFaltas1 = db1.OpenRecordset("Select [DATA_FALTA], [MOTIVO_FALTA] From tb_Faltas where REG= " & Me.txtREG & _
    " And [MOTIVO_FALTA]= 'TRE' ORDER BY [DATA_FALTA]")
     
    If RsFaltas1.RecordCount <> 0 Then
       RsFaltas1.MoveLast
       RsFaltas1.MoveFirst
           For yColuna = 1 To RsFaltas1.RecordCount
               For I = 1 To 15 'referente a 15 caixas de texto
                   On Error Resume Next
                   Me.Controls("txtOutros" & I).Value = "TRE - " & RsFaltas1("DATA_FALTA")
                   RsFaltas1.MoveNext
               Next
           Next
               RsFaltas1.Close
       Set RsFaltas1 = Nothing
    End If
           
    '======================================================================================
    'Faltas Abonadas
    '======================================================================================

    Set RsFaltas1 = db1.OpenRecordset("Select [DATA_FALTA], [MOTIVO_FALTA] From tb_Faltas where REG= " & Me.txtREG & _
    " And [MOTIVO_FALTA]= 'ABONADA' ORDER BY [DATA_FALTA]")
     
    If RsFaltas1.RecordCount <> 0 Then
       RsFaltas1.MoveLast
       RsFaltas1.MoveFirst
           For yColuna = 1 To RsFaltas1.RecordCount
               For I = 1 To 9 'referente a 9 caixas de texto
                   On Error Resume Next
                   Me.Controls("txtAbon" & I).Value = RsFaltas1("DATA_FALTA")
                   RsFaltas1.MoveNext
               Next I
           Next yColuna
               RsFaltas1.Close
       Set RsFaltas1 = Nothing
    End If

    '======================================================================================
    'Atestados Médicos
    '======================================================================================

    Set RsFaltas1 = db1.OpenRecordset("Select [DATA_FALTA], [MOTIVO_FALTA] From tb_Faltas where REG= " & Me.txtREG & _
    " And [MOTIVO_FALTA]= 'ATESTADO MÉDICO' ORDER BY [DATA_FALTA]")
     
    If RsFaltas1.RecordCount <> 0 Then
       RsFaltas1.MoveLast
       RsFaltas1.MoveFirst
           For yColuna = 1 To RsFaltas1.RecordCount
               For I = 1 To 9 'referente a 9 caixas de texto
                   On Error Resume Next
                   Me.Controls("txtOutros" & I).Value = "Atestado Médico - " & RsFaltas1("DATA_FALTA")
                   RsFaltas1.MoveNext
               Next I
           Next yColuna
               RsFaltas1.Close
       Set RsFaltas1 = Nothing
    End If

    End Sub
    Teste e informe. Repare que a caixa de texto não comporta o texto completo, ou diminui a fonte ou abrevia o texto


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Luiz Carlos Junior 8/10/2014, 18:00

    Bom dia Mestres.
    Mestre Alexandre, funcionou perfeitamente. Só que ocorreu justamente o que vc disse quanto a sábados, domingos e feriados.
    Quando a licença é de mês todo ou mais de 1 mês seguidamente (caso da Licença Gestante) ou, por exemplo, quando começa na quinta e termina na outra quinta, não deveria parar, mas sim mostrar o primeiro dia e o último da sequência ininterrupta.
    O problema é que quando cadastro as faltas, elas já vão sem esses dias (sábado, domingo e feriados) para a tabela tb_Faltas.

    Vou tentar aqui, mas se puder dar essa forcinha extra...hehehe

    Grato desde já.

    Abraços!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7934
    Registrado : 05/11/2009

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Alexandre Neves 8/10/2014, 22:21

    Boa noite,
    Não percebi quais as situações que podem ocorrer. Disponibilize situações que possam ocorrer para melhor criar o código


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7934
    Registrado : 05/11/2009

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Alexandre Neves 8/10/2014, 22:38

    Para comportar a continuidade para Sábado e Domingo.
    Onde tem
    ElseIf Rst("Data_Falta") = DateAdd("d", 1, UltimoDia) And Rst("Motivo_Falta") = MotivoFalta Then

    coloque
    ElseIf (Rst("Data_Falta") = DateAdd("d", 1, UltimoDia) And Rst("Motivo_Falta") = MotivoFalta) Or (Weekday(Rst("Data_Falta")) = 2 And DateDiff("d", UltimoDia, Rst("Data_Falta")) = 3) Then


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Luiz Carlos Junior 14/10/2014, 14:08

    Bom dia Mestres.
    Mestre Alexandre, pra sábados e domingos funfou perfeitamente, porém, qdo chega em 15/11 (Feriado Nacional), para e não lê mais daí pra frente.
    Tenho uma tabela de feriados, onde a consulta tb é baseada, mas não consegui modificar o código para esse ajuste.
    Estou tentando mais alternativas hj, mas se achar a solução antes, não se acanhe, pode mandar. heheheh

    Abrasss!!!
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Luiz Carlos Junior 16/10/2014, 16:15

    Bom dia Mestres.
    Alguma dica do que fazer?
    To qse criando uma nova tabela para os períodos pra poder usar o programa, pois preciso dele pra segunda funfando.
    Aguardo uma luz...

    Grato desde já.

    ABrasss!!!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7934
    Registrado : 05/11/2009

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Alexandre Neves 16/10/2014, 17:32

    Boa tarde,
    Disponibilize dados significativos


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Luiz Carlos Junior 21/10/2014, 14:27

    Todos os dados foram passados no tópico.
    A dica que me deu contou os sábado e domingos perfeitamente.
    Porém, quando chega na primeira data que é feriado, ele conta como o último dia e não pega mais datas.
    Os dados de feriados estão na tabela tb_FeriadosCem.
    Estou apanhando para conseguir ajustar a sua dica neste caso.
    Precisa de mais dados?
    Agradeço desde já.

    Grato.

    Luiz Carlos Junior.
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Luiz Carlos Junior 22/10/2014, 14:04

    Bom dia Mestres.
    Se necessário envio mais dados.
    Alguma luz?

    Grato desde já.

    Luiz Carlos Junior.
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Luiz Carlos Junior 23/10/2014, 11:46

    Bom dia.
    A verdade é que não estou entendendo como funciona as linhas de comando que me passou, Mestre Alexandre (Sou leigo em algumas funções).
    Se puder me explicar, claro, se não for dar trabalho, talvez faça com que eu consiga resolver sozinho.
    Agradeço toda a força dada até agora, mas estou no limite de tempo para resolver o problema ou achar outra solução, como criar uma tabela para os períodos...

    Abrasss!!!
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Luiz Carlos Junior 28/10/2014, 17:51

    Nada feito Mestres???
    Deixa quieto então.
    Vou fazer outra tabela com os períodos.
    Grato pela atenção de todos.

    Abrasss!!!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7934
    Registrado : 05/11/2009

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Alexandre Neves 28/10/2014, 22:22

    Boa noite,
    Tenho estado muito ocupado. O fim-de-semana estive em formação.
    Ainda não tive tempo suficiente para o ajudar nesta situação. Se pudesse esperar mais uns dias, seria possível ajudar, se conseguir resolver doutra forma também acaba em bem.


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Luiz Carlos Junior 28/10/2014, 23:54

    Boa noite Mestre.
    Estou fazendo do outro jeito por pressa mesmo, mas se conseguir me ajudar, será mais rápido e melhor pro BD, pois, não terei que criar outra tabela e mais um monte de linhas de comando.
    Tentei vários meios durante a semana, mas, como meu conhecimento de VBA é limitado, não consegui chegar a lugar nenhum.
    SUa última dica fez com que pulasse os sábados e domingos. Perfeito. Só que no primeiro feriado ele já para, e deverá passar direto, assim como os finais de semana. Os feriados estão em uma tabela (tb_FeriadosCEM) com dia (Dia_Feriado) e Mês (Mês_Feriado).
    Veja a última coisa que tentei e tente entender:

    Código:
    Dim Rst, Rfer As DAO.Recordset, PrimeiroDia As Date, UltimoDia As Date, NrTxt As Byte, MotivoFalta As String, DataFeriado, intDiaFer, intAnoFalta, intMesFer As Integer

    Set Rst = CurrentDb.OpenRecordset("SELECT Data_Falta, Motivo_Falta FROM tb_Faltas WHERE Left(Motivo_Falta,7)='Licença' and Nome='" _
    & rs("NOME_FUNC") & "' ORDER BY Motivo_Falta, Data_Falta;")

    Set Rfer = CurrentDb.OpenRecordset("Select Dia_Feriado, Mes_Feriado FROM tb_FeriadosCem WHERE [Dia_Feriado] = " & intCont & " AND [Mes_Feriado] = " & intNum & "")

    'poderá ser revisto para considerar datas em falta que não sejam dias de trabalho (Sábado, Domingo, Feriado, etc)
    NrTxt = 0
    Do While Not Rst.EOF

        If Rfer.RecordCount <> 0 Then
            intDiaFer = Rfer("Dia_Feriado")
            intMesFer = Rfer("Mes_Feriado")
            DataFeriado = DateSerial(strAno, intMesFer, intDiaFer)
        End If

        If Rst.AbsolutePosition = 0 Then
            PrimeiroDia = Rst("Data_Falta")
            UltimoDia = Rst("Data_Falta")
            MotivoFalta = Rst("Motivo_Falta")
        ElseIf (Rst("Data_Falta") = DateAdd("d", 1, UltimoDia) And Rst("Motivo_Falta") = MotivoFalta) _
            Or (Weekday(Rst("Data_Falta")) = 2 And DateDiff("d", UltimoDia, Rst("Data_Falta")) = 3) Then UltimoDia = Rst("Data_Falta")
        ElseIf (DateAdd("d", 2, UltimoDia) = DataFeriado) Then
            Rst.MoveNext
            If (Rst("Data_Falta") = DateAdd("d", 1, UltimoDia) And Rst("Motivo_Falta") = MotivoFalta) _
            Or (Weekday(Rst("Data_Falta")) = 2 And DateDiff("d", UltimoDia, Rst("Data_Falta")) = 3) Then UltimoDia = Rst("Data_Falta")
        Else
            NrTxt = NrTxt + 1
            If PrimeiroDia = UltimoDia Then
                Me("txtLic" & NrTxt) = left(MotivoFalta, 1) + Mid(MotivoFalta, 9, 1) & ": " & PrimeiroDia
            Else
                Me("txtLic" & NrTxt) = left(MotivoFalta, 1) + Mid(MotivoFalta, 9, 1) & ": da " & PrimeiroDia & " a " & UltimoDia
            End If
            PrimeiroDia = Rst("Data_Falta")
            UltimoDia = Rst("Data_Falta")
            MotivoFalta = Rst("Motivo_Falta")
        End If
        Rst.MoveNext
    Loop
    Set Rst = Nothing

    Tentei adaptar sua dica, mas sem sucesso.

    Agradeço demais sua atenção.

    Grato...

    Abrasss!!!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7934
    Registrado : 05/11/2009

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Alexandre Neves 29/10/2014, 08:32

    Bom dia,
    Já detectei onde está a falha: após ler a última linha do recordset, sai do loop e não trata a última linha lida. Vamos tentar resolver.

    Teste este código e havemos de chegar lá.
    Set Rst = CurrentDb.OpenRecordset("SELECT Data_Falta, Motivo_Falta FROM tb_Faltas WHERE Left(Motivo_Falta,7)='Licença' and Nome='" & rs("NOME_FUNC") & "' ORDER BY Motivo_Falta, Data_Falta;")
    'poderá ser revisto para considerar datas em falta que não sejam dias de trabalho (Sábado, Domingo, Feriado, etc)
    NrTxt = 0
    Do While Not Rst.EOF
    If Rst.AbsolutePosition = 0 Then
    PrimeiroDia = Rst("Data_Falta")
    UltimoDia = Rst("Data_Falta")
    MotivoFalta = Rst("Motivo_Falta")
    ElseIf (Rst("Data_Falta") = DateAdd("d", 1, UltimoDia) And Rst("Motivo_Falta") = MotivoFalta) Or (Weekday(Rst("Data_Falta")) = 2 And DateDiff("d", UltimoDia, Rst("Data_Falta")) = 3) Or DCount("*", "tb_FeriadosCEM", "Dia_Feriado & '-' & Mes_Feriado='" & Format(DateAdd("d", 1, Rst("Data_Falta")), "d-m") & "'") > 0 Then
    UltimoDia = Rst("Data_Falta")
    Else
    NrTxt = NrTxt + 1
    If PrimeiroDia = UltimoDia Then
    Me("txtLic" & NrTxt) = MotivoFalta & ": " & PrimeiroDia
    Else
    Me("txtLic" & NrTxt) = MotivoFalta & ": de " & PrimeiroDia & " a " & UltimoDia
    End If
    PrimeiroDia = Rst("Data_Falta")
    UltimoDia = Rst("Data_Falta")
    MotivoFalta = Rst("Motivo_Falta")
    End If
    Debug.Print Rst("Data_Falta") & " : " & PrimeiroDia & " : " & UltimoDia
    Rst.MoveNext
    Loop
    NrTxt = NrTxt + 1
    If PrimeiroDia = UltimoDia Then
    Me("txtLic" & NrTxt) = MotivoFalta & ": " & PrimeiroDia
    Else
    Me("txtLic" & NrTxt) = MotivoFalta & ": de " & PrimeiroDia & " a " & UltimoDia
    End If
    Set Rst = Nothing


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Luiz Carlos Junior 29/10/2014, 11:26

    Mestre, está quase lá.
    Ele contou após o feriado, mas dividiu o período em 2.
    Exemplo:

    Licença Gestante: de 11/06/2013 a 14/11/2013    
    Licença Gestante: de 18/11/2013 a 20/12/2013

    E teria que ser:

    Licença Gestante: de 11/06/2013 a 20/12/2013

    Pois é uma licença só.

    É complicado, mas está me ajudando muitíssimo.
    Antes de fazer este BD eu levava em média 40 minutos para conferir as datas nos livros ponto e preencher a planilha do Excel.
    Agora, com o BD com as faltas já salvas e este relatório, 15 segundos.
    Por isso meu desespero todo para resolver este pequeno empecilho.

    Mas já agradeço por me dar essas luzes até agora. Estou aprendendo muito somente com esta parte.
    Muito grato mesmo.

    Aconteceu outro problema também, com os dados da funcionária que estou te enviando agora. Nos feriados de 14/10 e 28/10, que não são domingos, estão aparecendo com tal, após o próprio dia de domingo (página 1 do relatório).
    Tem algo a ver com esta parte que incluí agora, pois, antes, não acontecia.

    Faça o teste, por favor, com os dados atuais de tabelas que lhe enviei e veja o que acontece.

    Desculpe o trabalhão.

    Vamos chegar lá com sua preciosa ajuda...

    Abrasss!!!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7934
    Registrado : 05/11/2009

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Alexandre Neves 29/10/2014, 21:51

    Mande dados significativos. Terá retirado alguns dados: A tabela não tem campo Curso_verao


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Luiz Carlos Junior 29/10/2014, 23:04

    Desculpe Mestre.
    Fiz alterações no meu e esqueci de alterar aqui tb.
    Segue.

    Abrasss!!!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7934
    Registrado : 05/11/2009

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Alexandre Neves 30/10/2014, 10:02

    Bom dia,
    Veja se é isto
    Anexos
    Intervalo de Datas - Inicial e Final AttachmentEscola (Teste Ficha Cem).zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (352 Kb) Baixado 30 vez(es)


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Luiz Carlos Junior 30/10/2014, 12:20

    Bom dia Mestre.
    A parte do período completo, PERFEITO!
    Porém, a parte das datas que não são sábado e domingo e aparecem como tal na primeira página (dias 14/10 e 28/10) que citei no post acima, continuam aparecendo, e somente com este funcionário. Deve ter a ver com a licença por longo período.
    Em outro caso, que estou enviando, criei um novo funcionário na tabela para que possa testar, está acontecendo uma repetição de marcações de licenças em todas as text box.
    Faça o teste com o funcionário 2 para que possa entender o que digo.

    Grato pela aula de VBA e pela aula de solidariedade e paciência com o meu problema.

    Abrasss!!!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7934
    Registrado : 05/11/2009

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Alexandre Neves 30/10/2014, 19:15

    Tenho pouco tempo para analisar o caso.
    Veja de onde vem o preenchimento e perceba o que precisa alterar


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Luiz Carlos Junior 31/10/2014, 11:49

    Entendo Mestre. E agradeço demais, ajudou muito já e abusei de sua boa vontade. hehee
    Já vi e revi a parte dos sábados e domingos e não acho o erro. É só no dela que acontece isso e nos dias indicados.
    A parte da repetição vou olhar com mais cuidado hoje.
    Agradeço novamente a cooperação.

    Abrasss!!!

    PS: Se algum dos outros mestres que olharam aqui tem alguma luz sobre este erro agradeço também.
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Luiz Carlos Junior 12/11/2014, 10:15

    Bom dia Mestres.
    Sei que esse tópico deve estar enchendo já, mas não resolvi os últimos problemas citados.
    Alguma luz?

    Agradeço desde já.

    Abrasss!!!
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Luiz Carlos Junior 18/11/2014, 11:46

    Bom dia Mestres.
    Resolvi o erro da página 1 do meu relatório, porém, a parte que mostra as licenças na página 2, que o Mestre Alexandre desenvolveu o código, continua com erros. Ou mostra somente o primeiro período ou repete se há um período de 1 dia somente várias vezes.
    Se alguém puder me dar uma luz, pois, tem partes do código que não sei o que fazem, por isso não consigo resolver:

    PrimDiaRst = Rst(0): Rst.MoveLast: UltDiaRst = Rst(0): Rst.MoveFirst

    O que faz essa linha? Nunca usei esses ":".

    Agradeço desde já.

    Abrasss!!!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7934
    Registrado : 05/11/2009

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Alexandre Neves 18/11/2014, 16:00

    Boa tarde
    Os dois pontos separaram as instruções. Caso houvesse mudança de linha, não eram precisos
    PrimDiaRst = Rst(0) <-- o conteúdo do primeiro campo do recordset passa para a variável
    Rst.MoveLast <-- move para o último registo
    UltDiaRst = Rst(0) <-- o conteúdo do primeiro campo do recordset passa para a variável
    Rst.MoveFirst <-- move para o primeiro registo


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Luiz Carlos Junior 10/12/2014, 16:41

    Boa tarde Mestres.
    Acreditem ou não, não consegui resolver a pendenga ainda.
    Cada coisa que mudo dá um erro. Decidi voltar a última solução do mestre Alexandre para tentar de novo e nada.
    Tentei várias  mudanças mas ou continua no mesmo erro ou piora.
    Não tenho conhecimento suficiente para resolver esta.
    O erro:

    Quando há somente um intervalo, OK! Perfeito funcionamento.
    Se existe mais de um intervalo ou um intervalo e mais uma data única, repete até a última caixa de texto.

    Se alguém puder dar mias essa força...

    Grato desde já.

    Abrasss!!!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7934
    Registrado : 05/11/2009

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Alexandre Neves 11/12/2014, 21:55

    Boa noite,
    O código exige muito tempo em exclusivo. Disponibilize a bd com o mínimo de informação mas que reúna todas as possibilidades de erro e informe o que acontece e o que devia acontecer


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7934
    Registrado : 05/11/2009

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Alexandre Neves 5/2/2015, 11:03

    Bom dia,
    Como anda o assunto?


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Luiz Carlos Junior 22/4/2015, 18:30

    Boa tarde Mestres.
    Desculpe a demora da resposta, mas estava viajando e desligado do trabalho.
    Continua na mesma Mestre Alexandre:

    Quando há somente um intervalo de datas, OK! Perfeito funcionamento.
    Se existe mais de um intervalo ou um intervalo e mais uma data única, repete até a última caixa de texto.

    Agradeço a força.

    Abrasss!!!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7934
    Registrado : 05/11/2009

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Alexandre Neves 23/4/2015, 18:33

    Boa tarde,
    Disponibilize o mínimo de dados significativos que demonstrem o erro


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Luiz Carlos Junior 23/4/2015, 19:54

    Boa tarde Mestre.
    Segue a parte do BD que possui o botão do relatório e as instruções de funcionamento:
    - Ao abrir o form Funcionários, digite 1 no campo REG e clique em Pesquisar Registro;
    - Clique em Relatórios Individuais e, na página que abre, em Ficha CEM;
    - Clique em OK no form Ficha Cem para que a mesma seja criada.
    Repare na página 2, onde ficam as text box das Licenças. Onde na tabela tb_FaltasCEM tem uma data, fica certo.
    Onde deveria ficar um período, tipo de 10/10/2014 a 20/10/2014, aparecem os erros. Os períodos são fracionados e não ficam do jeito desejado.

    POde parecer difícil de entender, mas a hora que testar entenderá.

    Desde já, grato.

    Abrasss!!!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7934
    Registrado : 05/11/2009

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Alexandre Neves 24/4/2015, 21:22

    Boa noite,
    Não sei o que aparece e que não devia aparecer.


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Luiz Carlos Junior 27/4/2015, 19:27

    Boa tarde Mestre.

    Postei duas capturas de tela da frente e do verso da Ficha CEM impressa, veja e leia os exemplos de erros abaixo citados:

    Intervalo de Datas - Inicial e Final Wt90cj

    Intervalo de Datas - Inicial e Final 262tspe

    Repare nos text box na pag Costas na imagem acima:

    - O dia 07/10/2014, que é o primeiro dia de um período, repete em 4 TB;
    - Do dia 07 ao dia 17 deveria ficar tudo em um único TB, assim: de 07/10/2014 a 17/10/2014, pois não tem pausas na licença em dias de trabalho normal (Não contam sábados, domingos e feriados);  
    - Esse TB com o período de 14/10/2014 a 18/10/2014 não existe. Seria o citado acima;

    Creio que assim ficou melhor o entendimento.

    PS: Estou enviando um novo BD com menos faltas na tabela para melhor visualização e entendimento do que quero.

    Grato desde já pela força.

    Abrasss!
    Anexos
    Intervalo de Datas - Inicial e Final AttachmentTeste Ficha Cem.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (288 Kb) Baixado 12 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7934
    Registrado : 05/11/2009

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Alexandre Neves 5/5/2015, 11:02

    Bom dia,
    Estou com pouquíssimo tempo
    Vamos deixar este assunto para o próximo fim-de-semana.


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Luiz Carlos Junior 5/5/2015, 14:21

    Sem problemas mestre.
    Me ajudando a resolver o problema, isso é o que importa. rs
    Abrasss!!!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7934
    Registrado : 05/11/2009

    Intervalo de Datas - Inicial e Final Empty Re: Intervalo de Datas - Inicial e Final

    Mensagem  Alexandre Neves 10/5/2015, 10:04

    Bom dia,
    Veja se é isto
    Anexos
    Intervalo de Datas - Inicial e Final AttachmentEscola (Teste Ficha Cem).zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (266 Kb) Baixado 34 vez(es)


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

      Data/hora atual: 16/4/2021, 21:59