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!!!!
Publicidade
|
|
Page 1 of 1
Query com intervalo de datas
#2
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
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
#3
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?
<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?
#4
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"> |
#5
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>
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>
#6
Posted 11 October 2005 - 02:43 PM
So para saber...
Isso aqui assim, funciona? (com aspas simples entre as datas)
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...
Isso aqui assim, funciona? (com aspas simples entre as datas)
| ColdFusion |
<cfquery datasource="helpinformatica" name="consulta_venda"> |
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...
#7
Posted 12 October 2005 - 12:42 PM
Valeu pela dica pessoal, mas consegui somente com o seguinte código:
Tive que utulizar o cfqueryPARAM .
<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!!!!!
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!!!!!
Share this topic:
Page 1 of 1
Similar Topics
| Topic | Forum | Started By | Stats | Last Post Info | |
|---|---|---|---|---|---|
|
Yahoo! acrescenta comandos de voz em buscas de celulares
|
Notícias |
Notícias
|
|
|
|
official coach outlet onlinepx61
www.huffphoto.com/coachoutletonlinemto.html rb60 |
Eventos |
LayefsPes
|
|
|
|
Como fazer um currículo
Como fazer um ótimo curriculum vitae |
Mercado / Vagas |
rthiago
|
|
|
|
Problemas com fontes no dw4004
|
Dreamweaver |
fackz
|
|
|
|
Como listar arquivos de uma pasta?
Também preciso de divisão por página |
PHP |
CarlosAugusto
|
|
|
|
Como faço esse efeito de bandeira ao vento??
|
Photoshop & Image Ready |
marley
|
|
|
|
eBay comprará empresa de publicidade Where
|
Notícias |
Notícias
|
|
|
|
Sign Tools 3 for CorelDraw
Ferramenta muito interessante pra quem trabalha com plotter de Recorte |
Corel Draw |
Éder JC
|
|
Publicidade
|
|

Help













