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


3 participantes

    [Resolvido]Grupo de opções - Função não funciona (Formato da data)

    avatar
    Ricardo84
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 78
    Registrado : 18/01/2014

    [Resolvido]Grupo de opções - Função não funciona (Formato da data) Empty [Resolvido]Grupo de opções - Função não funciona (Formato da data)

    Mensagem  Ricardo84 19/8/2014, 00:17

    Olá. Tenho uma função que encontrei neste video . Ora o que pretendo é quase exatamente isso. A única diferença é que queria que a última opção fosse SEMANA SEGUINTE (a começar na segunda e acabar na sexta) em vez de ESTA SEMANA, alterei essa parte do código e em vez de ser + 2 ficou + 7 (não sei se há outra maneira ou se é isso que esta a fazer funcionar mal).

    No video o campo que tem a data chama-se weekdate, no meu é DataInicio (que será o inicio do período de férias), até aí pensei que td funcionasse bem, mas não foi bem isso que aconteceu. Eu julgo que tem a ver com o formato da data, (mm/dd/aaaa e na minha BD é dd/mm/aaaa) já tentei alterar a função, mas sem sucesso.

    O problema está que no período 11/10/201 a 12/10/2014 aparece como sendo deste trimestre, mês e semana seguinte o de 10/11/2013 a 20/11/2013 já não, mas é de outro ano.

    Fica aqui a função:

    Private Sub grpChoice_AfterUpdate()
     
     Dim dDate As Date
     
     Select Case grpChoice.Value
       
       Case 1: dDate = "1/1/1900"
       
           Case 2: dDate = "1/1/" & Year(Date)
           
       'Alterei o 2 pelo 7 para poder ver a semana seguinte, mas não sei se será a melhor maneira.
       'Ajuda neste ponto. Mesmo com o 2 vejo o período de outubro e de novembro na semana seguinte, neste mês e neste trimestre (deviam estar no 4º trimestre)
           
               Case 3:
                  Select Case Month(Date)
                  Case 1 To 3: dDate = "1/1/" & Year(Date)
                  Case 4 To 6: dDate = "4/1/" & Year(Date)
                  Case 7 To 9: dDate = "7/1/" & Year(Date)
                  Case 10 To 12: dDate = "10/1/" & Year(Date)
                End Select
               
           Case 4: dDate = Month(Date) & "/1/" & Year(Date)
           
       Case 5: dDate = Date - Weekday(Date) + 7
     
     End Select
     
     Me.Timesheets_SubForm.Form.Filter = "[Datainicio]>=#" & dDate & "#"
       
       Me.Timesheets_SubForm.Form.FilterOn = True
           If dDate = "1/1/1900" Then
       Me.Timesheets_SubForm.Form.FilterOn = False
     
     End If

    End Sub


    https://www.dropbox.com/sh/xa366fss6mmgpmo/AAAH_Y-2VtHX6TDRcfG1D7mna
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Grupo de opções - Função não funciona (Formato da data) Empty Re: [Resolvido]Grupo de opções - Função não funciona (Formato da data)

    Mensagem  Alexandre Neves 19/8/2014, 08:29

    Bom dia,
    Os dados não são significativos. Só deu conta destes erros porque não colocou nenhuma data de anos posteriores.
    Sobre o filtro, como quer que o período seja delimitado:
    - início e fim dentro do período escolhido?
    ou
    - alguma parte do período dentro do período escolhido?


    .................................................................................
    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
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7995
    Registrado : 15/03/2013

    [Resolvido]Grupo de opções - Função não funciona (Formato da data) Empty Re: [Resolvido]Grupo de opções - Função não funciona (Formato da data)

    Mensagem  Alvaro Teixeira 19/8/2014, 08:46

    Olá, já temos abordado aqui a questão.
    Na minha modesta opinião é uma incompatibilidade de idiomas no campo data:
      Em portugues dd/mm/yyyy
      Em Americano (ou neutro) mm/dd/yyyy

    Já tive o mesmo problema e só consegui resolver formatando a data assim:
    Format(Me!DataTeste, "mm-dd-yyyy")

    Ficamos aguardar retorno.
    Abraço

    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7995
    Registrado : 15/03/2013

    [Resolvido]Grupo de opções - Função não funciona (Formato da data) Empty Re: [Resolvido]Grupo de opções - Função não funciona (Formato da data)

    Mensagem  Alvaro Teixeira 19/8/2014, 09:04

    Caro Alexandre Neves, não tinha visto que já tinha respondido à questão do colega.
    Abraço
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Grupo de opções - Função não funciona (Formato da data) Empty Re: [Resolvido]Grupo de opções - Função não funciona (Formato da data)

    Mensagem  Alexandre Neves 19/8/2014, 09:05

    Olá teixeira,
    Tudo bem. Estamos todos no mesmo sentido e sem ciúmes. Não há concorrência!
    Abraço,


    .................................................................................
    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
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7995
    Registrado : 15/03/2013

    [Resolvido]Grupo de opções - Função não funciona (Formato da data) Empty Re: [Resolvido]Grupo de opções - Função não funciona (Formato da data)

    Mensagem  Alvaro Teixeira 19/8/2014, 09:12

    Obrigado, ficamos aguardar retorno do colega.
    Abraço
    avatar
    Ricardo84
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 78
    Registrado : 18/01/2014

    [Resolvido]Grupo de opções - Função não funciona (Formato da data) Empty Re: [Resolvido]Grupo de opções - Função não funciona (Formato da data)

    Mensagem  Ricardo84 19/8/2014, 13:32

    Boa tarde,

    Alexandre, o que pretendo é ver todas os períodos de férias em que a data de início seja entre a segunda-feira da semana seguinte e sexta-feira . Por exemplo, hj e terça-feira, ao escolher a opção semana seguinte vejo todos os períodos que se iniciam na semana seguinte (não importa a data de fim) mas só naqueles 5 dias. Dai ter experimentado alterar a parte da função que tem +2 para mais +7.

    Também reparei que o erro acontece com datas de anos posteriores, mas por acaso não pus nenhum exemplo. Essa ainda percebo por causa do Case 2. Esse devia usar a função between 1/1/ANO e 31/12/ANO, certo? Da para corrigir isso?

    Os trimestres se não ficarem operacionais, não há gd crise, excluo essa opção. Mas as outras gostava que estivessem certinhas, pois é necessario emitir uma guia de licença para quem inicia o período de licença (férias, paternidade, etc) e queria que só se visse quem inicia na semana seguinte.

    Teixeira, não percebi bem. Teria de formatar a data no subformulario ou na tabela bastava e no formulário ficava conforme esta, já que é assim que estamos habituados a ver?

    Desde já obrigado.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Grupo de opções - Função não funciona (Formato da data) Empty Re: [Resolvido]Grupo de opções - Função não funciona (Formato da data)

    Mensagem  Alexandre Neves 19/8/2014, 14:31

    Substitua o código que tem por este

    Private Sub grpChoice_AfterUpdate()
    Dim strFiltro As String
    Select Case grpChoice.Value
    Case 1
    Case 2
    strFiltro = "DataInicio>=#1/1/" & Year(Date) & "# and DataInicio<=#1/1/" & Year(Date) + 1 & "#"
    Case 3
    Select Case Month(Date)
    Case 1 To 3
    strFiltro = "DataInicio>=#1/1/" & Year(Date) & "# and DataInicio<#4/1/" & Year(Date) & "#"
    Case 4 To 6
    strFiltro = "DataInicio>=#4/1/" & Year(Date) & "# and DataInicio<#7/1/" & Year(Date) & "#"
    Case 7 To 9
    strFiltro = "DataInicio>=#7/1/" & Year(Date) & "# and DataInicio<#10/1/" & Year(Date) & "#"
    Case 10 To 12
    strFiltro = "DataInicio>=#10/1/" & Year(Date) & "# and DataInicio<#1/1/" & Year(Date) + 1 & "#"
    End Select
    Case 4
    strFiltro = "Format(DataInicio,'mm-yyyy')='" & Format(Date, "mm-yyyy") & "'"
    Case 5
    strFiltro = "Format(DataInicio,'ww-yyyy')='" & Format(Date + 7, "ww-yyyy") & "'"
    End Select
    Me.Timesheets_SubForm.Form.Filter = strFiltro
    Me.Timesheets_SubForm.Form.FilterOn = True
    If dDate = "1/1/1900" Then
    Me.Timesheets_SubForm.Form.FilterOn = False
    End If
    End Sub


    .................................................................................
    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
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7995
    Registrado : 15/03/2013

    [Resolvido]Grupo de opções - Função não funciona (Formato da data) Empty Re: [Resolvido]Grupo de opções - Função não funciona (Formato da data)

    Mensagem  Alvaro Teixeira 19/8/2014, 15:32

    Olá de novo.
    No meu caso sempre que tive que formatar foi no código nas instruções em VBA.

    Exemplo de instrução de uma aplicação, onde tive que formatar a data:
    Código:
    DoCmd.RunSQL "UPDATE MOVIMENTOS SET MOVIMENTOS.CTB = -1 WHERE MOVIMENTOS.DataMov = #" & Format(Me.DataDoc, "mm-dd-yyyy") & "# AND MOVIMENTOS.TipoMov = 8 AND MOVIMENTOS.Abate = 0 "

    Código:
    [NrMOV] = Format(DMax("NrLote", "MovLotes", "[DataLote] = #" & Format(Me.DataLote, "mm-dd-yyyy") & "# ") + 1, "0000000000")

    Abraço
    avatar
    Ricardo84
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 78
    Registrado : 18/01/2014

    [Resolvido]Grupo de opções - Função não funciona (Formato da data) Empty Re: [Resolvido]Grupo de opções - Função não funciona (Formato da data)

    Mensagem  Ricardo84 19/8/2014, 17:04

    Alexandre, ficou exatamente aquilo que pretendo. Obrigado pela ajuda. Já experimentei com várias datas e funciona sempre bem Smile.

    Teixeira, obrigado tb. Mas a função do Alexandre era msm o que queria. No entanto reparei na parte em que está lá o UPDATE. E que tb estou com uma dúvida em relação a uma consulta de UPDATE de um campo em uma tabela. Lg vou mostrar a situação. E que não sei se a consulta vai atualizar o campo sem a correr. Logo explico melhor. Em relação a este tópico está resolvido Very Happy
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7995
    Registrado : 15/03/2013

    [Resolvido]Grupo de opções - Função não funciona (Formato da data) Empty Re: [Resolvido]Grupo de opções - Função não funciona (Formato da data)

    Mensagem  Alvaro Teixeira 19/8/2014, 17:48

    Olá Ricardo, obrigado pelo retorno.
    Cá estaremos, até à próxima, Abraço
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Grupo de opções - Função não funciona (Formato da data) Empty Re: [Resolvido]Grupo de opções - Função não funciona (Formato da data)

    Mensagem  Alexandre Neves 19/8/2014, 18:07

    Falta o Resolvido


    .................................................................................
    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
    avatar
    Ricardo84
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 78
    Registrado : 18/01/2014

    [Resolvido]Grupo de opções - Função não funciona (Formato da data) Empty Re: [Resolvido]Grupo de opções - Função não funciona (Formato da data)

    Mensagem  Ricardo84 19/8/2014, 22:47

    Não sabia que era eu qur dava, peço dscp.  Embarassed 

    Conteúdo patrocinado


    [Resolvido]Grupo de opções - Função não funciona (Formato da data) Empty Re: [Resolvido]Grupo de opções - Função não funciona (Formato da data)

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/11/2024, 01:55