Esqueceu sua senha? Você pode usar o mecanismo de lembrete neste link: Recuperar senha

Você receberá um link de reativação no email cadastrado.

Não recebeu o email? Lembre-se checar o Lixo Eletrônico.

[RESOLVIDO] Erro Where conexão AdoDB

Dúvidas gerais sobre Excel
alantykhe
Acabou de chegar
Acabou de chegar
Mensagens: 4
Registrado em: Qua Out 03, 2012 10:02 pm

[RESOLVIDO] Erro Where conexão AdoDB

Mensagem por alantykhe » Seg Abr 15, 2019 9:45 am

Bom dia, pessoal!

Preciso de ajuda, tenho uma consulta ADO que faz a leitura de um CSV e filtra a data de acordo com o dia atual, porém os dados retornados não correspondem a intervalo que solicitei. Por exemplo: Where data >= #01/01/2019#, porém o recordset traz registros diversos de anos anteriores.

Obs.: para ler o CSV eu crio diariamente um Schema.ini (abaixo)
[20190415_061201_EmailseTelefonemas.csv]
Format=Delimited(;)
ColNameHeader=True
MaxScanRows=100
DateTimeFormat=DD/MM/YYYY hh:nn:ss
Col1="Data de Criacao" DateTime
Col2="Data de Inicio" DateTime
Col3="Tipo de Atividade" Text
Col4="Status da Atividade" Text
Col5="Referente a" Text
Col6="Proprietario" Text
Col7="Unidade de Negocios (Usuario Proprietario)" Text
Col8="Codigo do Colaborador (Usuario Proprietario)" Long
Col9="Criada por" Text
Col10="Unidade de Negocios (Criada por)" Text
Col11="Codigo do Colaborador (Criada por)" Long
Col12="CNPJ/CPF (Referente a Lead)" Text
Col13="CNPJ/CPF (Referente a Conta)" Text
Col14="CNPJ/CPF (Referente a Oportunidade)" Text
Col15="CNPJ/CPF (Referente a Proposta)" Text
Col16="CNPJ/CPF (Referente a Contrato)" Text
Col17="Codigo Centro Decisao (Referente a)" Long
Abaixo parte do código variável de data e open recordset.
  
 DataFiltro = Date - 90
 DataFiltro = CDate(DataFiltro)

With rs
            .ActiveConnection = cn
            .LockType = adLockOptimistic
            .CursorType = adOpenKeyset
      
            Sql = "Select [data de criacao], [Status da Atividade], [Data de Inicio]  " _ &
           "FROM Interacoes Where [data de criacao] > #" & DataFiltro & "# " _ &
           "and [Tipo de Atividade] Like 'Email'"
            .Open Sql
End with
No CSV os dados do campo [data de criacao] constam como exemplo abaixo:
Data de Criacao;
31/12/2018 23:58:11;
Alguem já passou por isso? Conseguiu resolver?

Abraço
Editado pela última vez por alantykhe em Seg Abr 15, 2019 2:15 pm, em um total de 1 vez.



Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1206
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Erro Where conexão AdoDB

Mensagem por Reinaldo » Seg Abr 15, 2019 10:46 am

Posso estar enganado, mas pelo exposto, creio que o campo data é considerado como texto;então experimente algo +/- assim:
De:

Código: Selecionar todos

FROM Interacoes Where [data de criacao] > #" & DataFiltro
Para

Código: Selecionar todos

FROM Interacoes Where cdata(left([data de criacao],10) > #" & DataFiltro


Reinaldo
Gostou da resposta?:?: :oops: :D :mrgreen:

alantykhe
Acabou de chegar
Acabou de chegar
Mensagens: 4
Registrado em: Qua Out 03, 2012 10:02 pm

Re: Erro Where conexão AdoDB

Mensagem por alantykhe » Seg Abr 15, 2019 1:12 pm

Reinaldo escreveu:
Seg Abr 15, 2019 10:46 am
Posso estar enganado, mas pelo exposto, creio que o campo data é considerado como texto;então experimente algo +/- assim:
De:

Código: Selecionar todos

FROM Interacoes Where [data de criacao] > #" & DataFiltro
Para

Código: Selecionar todos

FROM Interacoes Where cdata(left([data de criacao],10) > #" & DataFiltro
Ola, Reinaldo. Tentei isso também, mas continua trazendo valores incompatível com os critérios da consulta. :/



alantykhe
Acabou de chegar
Acabou de chegar
Mensagens: 4
Registrado em: Qua Out 03, 2012 10:02 pm

Re: Erro Where conexão AdoDB

Mensagem por alantykhe » Seg Abr 15, 2019 2:14 pm

Resolvido, o erro foi de lógica (um erro amador rs), esqueci de separar entre parênteses os operadores lógicos:

Antes:

Código: Selecionar todos

Where [data de criacao] > #" & DataFiltro & "#  and [Tipo de Atividade]
  Like 'Email' or [Tipo de Atividade] like 'Compromisso' or [Tipo de Atividade] 
  like 'Telefonema'"
Depois de corrigido:

Código: Selecionar todos

Where ([data de criacao] > #" & DataFiltro & "#)  and ([Tipo de Atividade] 
Like 'Email' or [Tipo de Atividade] like 'Compromisso' or [Tipo de Atividade] 
like 'Telefonema')"
Abraço



Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder