Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marius_Coutinho

SELECT com DATEADD

Recommended Posts

Pessoal,Preciso de um SELECT um pouco mais complexo. Funciona assim:Tenho uma data no bd com o inicio do pagamento de um financiamento e tenho o prazo do financiamento.Bem, preciso somar em meses a data de inicio + o prazo para encontrar a data de vencimento e poder gerar o relatório. Além disso, preciso comparar o resultado com a data de hoje e só exibir os registros que atendem a esse critério.O problema é que há um erro de sintaxe. Deveria ser assim.WHERE data_inicio = #" & DATEADD("m" - [prazo], [data de hoje]) & "# Só que me parece não ser possível chamar o campo prazo dentro do DATEADD.O Select está assim: "SELECT data_inicio, prazo FROM financiamentos WHERE #" & DATEADD("m", - & "prazo, data_inicio" & )O erro está na concatenação. Será que não tem como fazer isso?Agradeço pela força!

Compartilhar este post


Link para o post
Compartilhar em outros sites

talvez pra trabalhar com intervalos de datas num seria melhor usar (datediff), eu nem sei se funfa pra isso, só que estou acostumado a ler alguns post aqui, utilizando isso!valew!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que o que não está funcionando é a chamada do prazo do financiamento dentro do DATEADD.Ex: Preciso que o sistema entenda que o campo "prazo" se refere a uma qtde de meses e a data de inicio à data do primeiro pagamento, mas não sei como passar essa informação. Da forma como tentei não deu certo.Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta passar o nome da tabela junto com o campo, por exemplo:

 

SELECT financiamentos.data_inicio, financiamentos.PrazoFROM financiamentosWHERE data_inicio = DateAdd ("m", [financiamentos]![Prazo], [financiamentos]![data_inicio])

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parece ser um problema de sintaxe. Por exemplo:

 

DATEADD ("m", &"financiamentos.prazo"&, date)

"&" não é aceito. Se eu tentar sem o "&", torna-se uma string e sem ", torna-se uma variável.

 

Será que não tem mesmo jeito? :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aconselho tratar a data fora do select e depois usar o BETWEEN...fica bem tranquilo....dia BETWEEN #"&datainicio&"# AND #"&datafim&"#flw B)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aconselho tratar a data fora do select e depois usar o BETWEEN...BETWEEN #"&datainicio&"# AND #"&datafim&"#

assim fica mais simples de fazer mesmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

para determianr um intervalo BETWEEN A AND Bsignifica que é pra selecionar tudo que for maior que A e menor que B

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza pessoal, mas não posso usar o between.A data que tenho é a data de início de um financiamento, ou seja, uma data passada (ex.: 10/05/2003) e por isso não posso trabalhar por períodos.O ideal seria que a data de inicio fosse somada à quantidade de meses do financiamento e depois comparada à data de hoje. Se fosse igual selecionaria.Não estou querendo fazer a seleção e criar a restrição no código porque iria gerar um processamento muito grande para o aproveitamento de um percentual pequeno demais.Até mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

aê explica o que você quer fazer....

 

pelo o que entendi é o seguinte...o kra faz uma compra e financia:

Ex:

Data da compra: 10/05/2005

Financiado em 5 meses

 

ai você poderia fazer o seguinte....

NovaData = DateAdd("m", 5, "data da compra")

você iria comparar a novaData com a data de hoje eeeeeee?

 

ai depois disso naum entendi o q você quer

 

kra faz essas operações fora do SELECT e depois monta a consulta, fik + facil e pratico

 

http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

aê explica o que você quer fazer....

 

pelo o que entendi é o seguinte...o kra faz uma compra e financia:

Ex:

Data da compra: 10/05/2005

Financiado em 5 meses

 

ai você poderia fazer o seguinte....

NovaData = DateAdd("m", 5, "data da compra")

você iria comparar a novaData com a data de hoje eeeeeee?

 

ai depois disso naum entendi o q você quer

 

kra faz essas operações fora do SELECT e depois monta a consulta, fik + facil e pratico

 

http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

<{POST_SNAPBACK}>

A idéia é essa mesmo.

 

O problema de fazer fora do select é que eu não tenho como saber a data de inicio nem o prazo do financiamento. Ou seja, terei que montar um select de todos os registros e criar um laço de repetição para, dentro dele, separar os registros que interessam.

 

O ruim disso é que o percentual de selecionados é mínimo (1 em cada 300, por exemplo). Para não dizer que a tabela deve ter uns 60.000 registros.

 

Para ficar mais claro:

 

Tabela financiamentos

 

DATA-----------------|------------PRAZO

01/05/2000----------|------------12

10/07/2002----------|------------48

 

A intenção seria montar um select onde o campo DATA fosse igual a DATA DE HOJE menos o PRAZO do financiamento. O problema é que não consigo fazer uma sintaxe que o DATEADD "entenda" o campo PRAZO como sendo da tabela.

 

Nem sei se é possível, mas se eu tiver conseguido explicar melhor e alguém tiver alguma idéia, ficarei muito http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.