MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]SELECT de DATA com BETWEEN

    Compartilhe
    avatar
    Marcio2501
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 24/10/2016

    [Resolvido]SELECT de DATA com BETWEEN

    Mensagem  Marcio2501 em 19/10/2017, 12:25

    Pessoal, boa tarde !

    Se alguem conseguir me ajudar agradeço.

    Estou tentando fazer um select da minha tabela "BASE_RETORNO_DIARIO" onde o campo data está como texto nesse exemplo ("2017-06-01 14:09:52.000") onde faço o importe de um CSV do SQL para o ACCESS. Para selecionar como formato "dd/mm/aaaa" uso "Format(Left(Data_Hora,10),"dd/mm/yyyy")) para isso não tenho problema.

    Meu problema é quando quero fazer o select utilizando a clausula WHERE com BETWEEN entre as data (quero selecionar o mes outubro por exemplo) não esta retornando o parâmetro. Segue os exemplos que fiz abaixo:


    Data fixa:

    SELECT COUNT (Descricao_Tabulacao) AS QTD, (Format(Left(Data_Hora,10),"dd/mm/yyyy")) AS DATA

    FROM BASE_RETORNO_DIARIO

    WHERE (Format(Left(Data_Hora,10),"dd/mm/yyyy")) BETWEEN #01/10/2017# AND #15/10/2017#

    GROUP BY Left(Data_Hora,10);

    Com prompt

    SELECT COUNT (Descricao_Tabulacao) AS QTD, (Format(Left(Data_Hora,10),"dd/mm/yyyy")) AS DATA

    FROM BASE_RETORNO_DIARIO

    WHERE (Format(Left(Data_Hora,10),"dd/mm/yyyy")) BETWEEN [incio] AND [fim]
    GROUP BY Left(Data_Hora,10);

    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]SELECT de DATA com BETWEEN

    Mensagem  JPaulo em 19/10/2017, 14:23


    Código:
    SELECT Count(BASE_RETORNO_DIARIO.Descricao_Tabulacao) AS QTD, CDate((Format(Left([Data_Hora],10),"dd/mm/yyyy"))) AS DATA
    FROM BASE_RETORNO_DIARIO
    GROUP BY CDate((Format(Left([Data_Hora],10),"dd/mm/yyyy")))
    HAVING (((CDate((Format(Left([Data_Hora],10),"dd/mm/yyyy")))) Between #10/1/2017# And #10/15/2017#));


    Código:
    SELECT Count(BASE_RETORNO_DIARIO.Descricao_Tabulacao) AS QTD, CDate((Format(Left([Data_Hora],10),"dd/mm/yyyy"))) AS DATA
    FROM BASE_RETORNO_DIARIO
    GROUP BY CDate((Format(Left([Data_Hora],10),"dd/mm/yyyy")))
    HAVING (((CDate((Format(Left([Data_Hora],10),"dd/mm/yyyy")))) Between CDate([incio]) And CDate([fim])));


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

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Utilize o Sistema de Busca do Fórum...
    102 Códigos VBA Gratuitos...
    Instruções SQL como utilizar...
    avatar
    Marcio2501
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 24/10/2016

    Re: [Resolvido]SELECT de DATA com BETWEEN

    Mensagem  Marcio2501 em 19/10/2017, 14:50

    Opa JPaulo, obrigado pela resposta !

    Entretanto apareceu  os seguintes erros:

    1 consulta:

    "tipo de dados imconpativel no critério"

    2 consulta com prompt:

    Esta expressão foi digitada de forma incorreta ou é complexa demais para ser avaliada...
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]SELECT de DATA com BETWEEN

    Mensagem  JPaulo em 19/10/2017, 14:54

    Provavelmente você tem algures o campo data_hora NULL.

    Código:
    SELECT Count(BASE_RETORNO_DIARIO.Descricao_Tabulacao) AS QTD, CDate((Format(Left([Data_Hora],10),"dd/mm/yyyy"))) AS DATA
    FROM BASE_RETORNO_DIARIO
    WHERE (((BASE_RETORNO_DIARIO.Data_Hora) Is Not Null))
    GROUP BY CDate((Format(Left([Data_Hora],10),"dd/mm/yyyy")))
    HAVING (((CDate((Format(Left([Data_Hora],10),"dd/mm/yyyy")))) Between #10/1/2017# And #10/15/2017#));


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

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Utilize o Sistema de Busca do Fórum...
    102 Códigos VBA Gratuitos...
    Instruções SQL como utilizar...
    avatar
    Marcio2501
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 24/10/2016

    Re: [Resolvido]SELECT de DATA com BETWEEN

    Mensagem  Marcio2501 em 19/10/2017, 15:09

    Pior que não tem. Fiz ate um Delete pra checar mas apresenta o mesmo erro ao rodar a consulta.
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]SELECT de DATA com BETWEEN

    Mensagem  JPaulo em 19/10/2017, 16:30

    Estranho.
    Pode anexar aqui parte do seu banco ?


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

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Utilize o Sistema de Busca do Fórum...
    102 Códigos VBA Gratuitos...
    Instruções SQL como utilizar...
    avatar
    Marcio2501
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 24/10/2016

    Re: [Resolvido]SELECT de DATA com BETWEEN

    Mensagem  Marcio2501 em 20/10/2017, 09:35

    Bom dia !

    Segue zipado.

    Obrigado
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]SELECT de DATA com BETWEEN

    Mensagem  JPaulo em 20/10/2017, 11:10

    Aqui;

    Sem promp e com promp;

    Download


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

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Utilize o Sistema de Busca do Fórum...
    102 Códigos VBA Gratuitos...
    Instruções SQL como utilizar...
    avatar
    Marcio2501
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 24/10/2016

    Re: [Resolvido]SELECT de DATA com BETWEEN

    Mensagem  Marcio2501 em 20/10/2017, 11:41

    Muito obrigado JP !!

    Funcionou... era o >0 no WHERE, certo?
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]SELECT de DATA com BETWEEN

    Mensagem  JPaulo em 20/10/2017, 12:26

    Isso mesmo;

    Porque um campo texto se tiver um espaço, não está vazio, ae o Null não funciona.

    Obrigado pelo retorno o forum agradece.


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

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Utilize o Sistema de Busca do Fórum...
    102 Códigos VBA Gratuitos...
    Instruções SQL como utilizar...

      Data/hora atual: 24/1/2019, 07:34