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] Contar registos dos últimos 30 dias

    avatar
    Ad-minister
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 73
    Registrado : 18/04/2014

    [Resolvido] Contar registos dos últimos 30 dias Empty [Resolvido] Contar registos dos últimos 30 dias

    Mensagem  Ad-minister 12/4/2017, 23:40

    Dá-me #Erro a expressão DContar("[rsp-id]";"respostas-tb";"[rsp-data]=Data()-30")

    Num formulário tenho

    Campo: DataInicial
    -> resultado: 1/4/2014)

    Campo: ContaRegistos =DContar("[rsp-id]";"respostas-tb";"[rsp-data]=[DataInicial]")
    -> resultado: 3 (conta os registos que têm a data inicial)

    Até aqui está tudo correto, mas...
    Quero outro campo que devolva ContarRegistosÚltimoMês.

    Dá #Erro se eu adaptar para
    ContarRegistosÚltimoMês
    =DContar("[rsp-id]";"respostas-tb";"[rsp-data]=Data()-30")
    ou
    =DContar("[rsp-id]";"respostas-tb";Nz("[rsp-data]=Data()-30";0))

    O que estou a fazer de errado?

    Nota:
    Tabela:respostas-tb
    Campos: [rsp-id] | [rsp-data] | etc
    No último mês pode não haver registos (ainda).


    Última edição por Ad-minister em 13/4/2017, 14:43, editado 1 vez(es)


    .................................................................................
    Não há mestre que não possa ser aluno.
    Baltasar Gracián y Morales
    Escritor/Pedagogo
    Espanha - 8 Jan 1601 // 6 Dez 1658
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido] Contar registos dos últimos 30 dias Empty Re: [Resolvido] Contar registos dos últimos 30 dias

    Mensagem  Alvaro Teixeira 12/4/2017, 23:45

    Olá, teste assim:
    Código:
    =DContar("[rsp-id]";"respostas-tb";"[rsp-data]>= '" & cdate(Date()-30) &"'")
    Abraço
    avatar
    Ad-minister
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 73
    Registrado : 18/04/2014

    [Resolvido] Contar registos dos últimos 30 dias Empty Re: [Resolvido] Contar registos dos últimos 30 dias

    Mensagem  Ad-minister 13/4/2017, 12:28

    Obrigado ahteixeira.

    No entanto dá-me erro.

    Fiz alguns testes com a bd anexa  e não descubro o erro - (contar_registos.accdb)

    P.f. veja os meus testes.
    Anexos
    [Resolvido] Contar registos dos últimos 30 dias Attachmentcontar_registos.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (39 Kb) Baixado 21 vez(es)


    .................................................................................
    Não há mestre que não possa ser aluno.
    Baltasar Gracián y Morales
    Escritor/Pedagogo
    Espanha - 8 Jan 1601 // 6 Dez 1658
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    [Resolvido] Contar registos dos últimos 30 dias Empty Re: [Resolvido] Contar registos dos últimos 30 dias

    Mensagem  CassioFabre 13/4/2017, 13:09

    Bom dia,

    O erro nas duas expressões é pelo mesmo motivo: a falta do uso do # pelo motivo do campo analisado no criterio ser do tipo DATA. Leia este tópico: https://www.maximoaccess.com/t1533-funcao-dlookup-explicacao

    Substitua, respectivamente, as duas funções que dão erro por:

    =DContar("[rsp-id]";"respostas-tb";"[rsp-data]>= #" & CData(Data()-30) & "#")

    =DContar("[rsp-id]";"respostas-tb";"[rsp-data]>= #" & CData([Data1mes]) & "#")


    Abraço.
    avatar
    Ad-minister
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 73
    Registrado : 18/04/2014

    [Resolvido] Contar registos dos últimos 30 dias Empty Re: [Resolvido] Contar registos dos últimos 30 dias

    Mensagem  Ad-minister 13/4/2017, 14:32

    Obg Cassio.

    Então o erro/correção seria a substituição de ' por # e já está certo.

    Só não entendo porque nas outras expressões não foi necessário usar #.

    Por exemplo, não é preciso # em:
    Código:
    =DContar("[rsp-id]";"respostas-tb";"[rsp-data]>=[DataInicial]")

    De qualquer modo CData já converte texto em data!


    .................................................................................
    Não há mestre que não possa ser aluno.
    Baltasar Gracián y Morales
    Escritor/Pedagogo
    Espanha - 8 Jan 1601 // 6 Dez 1658
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido] Contar registos dos últimos 30 dias Empty Re: [Resolvido] Contar registos dos últimos 30 dias

    Mensagem  Alvaro Teixeira 4/6/2017, 22:18

    Olá a todos,
    Carlos, o Access tem destas coisa.
    Outra é que em SQL nas datas o Access é "Patriota" (idioma neutro), sendo muitas vezes necessário formatar a data à "Americana", ou seja:

    Format(CampoData,"mm/dd/yyyy")

    Abraço

    Conteúdo patrocinado


    [Resolvido] Contar registos dos últimos 30 dias Empty Re: [Resolvido] Contar registos dos últimos 30 dias

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 23/11/2024, 22:14