..:: MX Studio Fóruns ::..: Query com intervalo de datas - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




ATENÇÃO

Para evitar posts desnecessários e que não influam para o andamento e desenvolvimento do fórum, clique aqui e leia todas as regras.
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Query com intervalo de datas

#1 User is offline   rdariva 

  • Group: Membros
  • Posts: 4
  • Joined: 10-October 05

Posted 10 October 2005 - 12:26 PM

Olá!!

Não estou conseguindo criar uma query que selecione todos os registros de um intervalo de data.

Veja meus dados:

1° - Tenho um db(no access) com a tabela "vendas" e um campo "data_venda" do tipo data/hora e formato data abreviada.

2° - Estou tentando criar a seguinte query:

<cfquery datasource="helpinformatica" name="consulta_venda">
SELECT data_venda, valor_lib, num_prest, valor_prest, fator, venda_id
FROM Vendas
WHERE data_venda Between (#form.data_ini#) and (#form.data_fim#)
ORDER BY data_venda
</cfquery>

Mas não está retornando nada!

Alguem pode me ajudar!!!!

0

#2 User is offline   ianrapha 

  • Group: Membros
  • Posts: 318
  • Joined: 26-February 04

Posted 10 October 2005 - 12:55 PM

Fala ae,

Confere se a estrutura da data sendo passada é a mesma que os registros do banco estão gravados.

Se no banco de dados o formato está como dia/mes/ano o valor passado no criterio deve ser no formato dia/mes/ano.

Manda um dateformat() nesses valores que você está passando pelo form.

#Dateformat(form.data_ini, "dd/mm/yyyy")# e #Dateformat(form.data_fim, "dd/mm/yyyy")#, vai deixar as datas na estrutura 10/10/2005.


Espero ter ajudado

FUI
OUVINDO SEPULTURA - MURDER

0

#3 User is offline   rdariva 

  • Group: Membros
  • Posts: 4
  • Joined: 10-October 05

Posted 10 October 2005 - 01:17 PM

Olha só o que fiz:

<cfset data_ini = #dateformat(#form.data_ini#,"dd/mm/yyyy")#>
<cfset data_fim = #dateformat(#form.data_ini#,"dd/mm/yyyy")#>
<cfquery datasource="helpinformatica" name="consulta_venda">
SELECT data_venda, valor_lib, num_prest, valor_prest, fator, venda_id
FROM Vendas
WHERE data_venda Between (#variables.data_ini#) and (#variables.Data_fim#)
ORDER BY data_venda
</cfquery>

Mas no CFOUTPUT não sai nada!?

Veja o que retorna se o código for assim:

<cfquery datasource="helpinformatica" name="consulta_venda">
SELECT data_venda, valor_lib, num_prest, valor_prest, fator, venda_id
FROM Vendas
WHERE data_venda
ORDER BY data_venda
</cfquery>

Retorna no CFOUTPUT isso:

2000-01-01 00:00:00.0
2000-01-01 00:00:00.0
2000-01-01 00:00:00.0
2000-01-01 00:00:00.0
2000-01-20 00:00:00.0
2004-11-05 00:00:00.0

O Que devo fazer para ele retornar somente os registros entre as datas informadas no form?
0

#4 User is offline   pcsilva 

  • Group: Moderadores
  • Posts: 1940
  • Joined: 23-January 05

Posted 10 October 2005 - 01:40 PM

O ACCESS não é o ideal para se trabalhar com datas, mas tente isso.
ColdFusion
<cfset data_ini = dateformat(#form.data_ini#,"yyyy-mm-dd")&" 00:00:00.0">
<cfset data_fim = dateformat(#form.data_ini#,"yyyy-mm-dd")&" 00:00:00.0">
<cfquery datasource="helpinformatica" name="consulta_venda">
SELECT data_venda, valor_lib, num_prest, valor_prest, fator, venda_id
FROM Vendas
WHERE data_venda Between (#variables.data_ini#) and (#variables.Data_fim#)
ORDER BY data_venda
</cfquery>


0

#5 User is offline   rdariva 

  • Group: Membros
  • Posts: 4
  • Joined: 10-October 05

Posted 10 October 2005 - 04:37 PM

Não Funcionou!

Deu o seguinte erro:

Error Executing Database Query.
[MERANT][SequeLink JDBC Driver][ODBC Socket][Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe (operador faltando) na expressão de consulta 'data_venda Between (2000-01-01 00:00:00.0) and (2006-01-01 00:00:00.0)'.

The Error Occurred in C:\CFusionMX\wwwroot\HelpInformatica\helpemprestimo\consulta_venda.cfm: line 37
Called from operador faltando) na expressão de consulta 'data_venda Between (2000-01-01 00:00:00.0) and (2006-01-01 00:00: line -1
Called from C:\CFusionMX\wwwroot\HelpInformatica\helpemprestimo\consulta_venda.cfm: line 37

35 : WHERE data_venda Between (#variables.data_ini#) and (#variables.data_fim#)
36 : ORDER BY data_venda
37 : </cfquery>


0

#6 User is offline   alexmaia 

  • Group: Membros
  • Posts: 246
  • Joined: 04-February 05

Posted 11 October 2005 - 02:43 PM

So para saber...

Isso aqui assim, funciona? (com aspas simples entre as datas)

ColdFusion
<cfquery datasource="helpinformatica" name="consulta_venda">
SELECT data_venda, valor_lib, num_prest, valor_prest, fator, venda_id
FROM Vendas
WHERE data_venda Between ('2000-01-01 00:00:00.0') and ('2006-01-01 00:00:00.0')
ORDER BY data_venda
</cfquery>




Na pior das hipoteses, voce ate poderia usar a funcao DateCompare do cf dentro de um loop para saber se a data que a query retornou esta ou nao dentro daquele intervalo... Mas dessa forma, iria consumir processador demais. O ideal é fazer apenas com uma query mesmo.

Vamos la. Faz essa query ai acima e ve se funciona...
0

#7 User is offline   rdariva 

  • Group: Membros
  • Posts: 4
  • Joined: 10-October 05

Posted 12 October 2005 - 12:42 PM

Valeu pela dica pessoal, mas consegui somente com o seguinte código:

Tive que utulizar o cfqueryPARAM .

CODE

<cfset data_ini = #DateFormat(#form.data_ini#, "dd/mm/yyyy")#>
<cfset data_fim = #DateFormat(#form.data_fim#, "dd/mm/yyyy")#>
<cfquery datasource="helpinformatica" name="consulta_cliente">
SELECT fk_cliente_id, data_venda
FROM vendas
WHERE data_venda Between <cfqueryPARAM value = "#variables.data_ini#" cfsqltype="cf_sql_timestamp"> and <cfqueryPARAM value = "#variables.data_fim#" cfsqltype="cf_sql_timestamp">
ORDER BY data_venda
</cfquery>


Ai está para Todos que precisarem!!!!!
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic


Similar Topics Collapse

  Topic Forum Started By Stats Last Post Info
New Replies Yahoo! acrescenta comandos de voz em buscas de celulares Notícias Notícias 
  • 0 Replies
  • 312 Views
New Replies official coach outlet onlinepx61
www.huffphoto.com/coachoutletonlinemto.html
rb60
Eventos LayefsPes 
  • 0 Replies
  • 2 Views
Locked Topic Como fazer um currículo
Como fazer um ótimo curriculum vitae
Mercado / Vagas rthiago 
  • 4 Replies
  • 6950 Views
New Replies Problemas com fontes no dw4004 Dreamweaver fackz 
  • 1 Reply
  • 682 Views
New Replies Como listar arquivos de uma pasta?
Também preciso de divisão por página
PHP CarlosAugusto 
  • 1 Reply
  • 1496 Views
New Replies Como faço esse efeito de bandeira ao vento?? Photoshop & Image Ready marley 
  • 1 Reply
  • 3068 Views
New Replies eBay comprará empresa de publicidade Where Notícias Notícias 
  • 0 Replies
  • 132 Views
New Replies Sign Tools 3 for CorelDraw
Ferramenta muito interessante pra quem trabalha com plotter de Recorte
Corel Draw Éder JC 
  • 0 Replies
  • 1856 Views

Publicidade




2 User(s) are reading this topic
0 membro(s), 2 visitante(s) e 0 membros anônimo(s)