SQL - CONSULTA POR DATA

USUARIO.EXCLUIDOS 19/08/2007 12:14:26
#231562
Pessoal, estou com problemas na sql abaixo...

CONSULTASQL = "SELECT area_ofensora, SUM(qtd) AS qtd " & _
"FROM Tabprocessos " & _
" where data_abertura >=#" & Format(txtdat1.Text, "mm/dd/yyyy") & "# and data_abertura <=#" & Format(txtdat2.Text, "mm/dd/yyyy") & "# GROUP BY area_ofensora order by sum(qtd) desc "
Set TBSQL = CON.Execute(CONSULTASQL)
Do Until TBSQL.EOF
Lin = Lin + 1
msfgrade.Rows = Lin + 1
msfgrade.TextMatrix(Lin, 0) = TBSQL("area_ofensora")
msfgrade.TextMatrix(Lin, 1) = TBSQL("qtd")
TBSQL.MoveNext
Loop


Quero que traga um resultado na grade, onde seja digitado um intervalo ded datas

area_ofensora é o campo do access

data_abertura é o campo do access

tabprocessos é a taberla no access

qtd é o campo no access

Com a codificação acima não dá erro, porém tambeÂÂ'm não retorna resultado, no entanto, quando faço os testes (F5) digito um intervalo de data que tem no banco de dados e não aparece nada (como não houvesse nada naquela critério). Tem algo erro na minha sql??

USUARIO.EXCLUIDOS 19/08/2007 12:24:34
#231563
kra num sei se é isso mais no mysql a gente formata data assim

format(txtsuadata,"mm-dd-yyyy")

num custa nda tenta ne

falo irmão
USUARIO.EXCLUIDOS 19/08/2007 12:29:37
#231564
eu tava vendo lah na sua linha tbm, vc tah colocando o mes na frente depois o dia depois o ano

tenta inverte isso para dim mes ano dd/mm/yyyy

eu to sem vb aqui num posso testa

uhauhauh

falo
USUARIO.EXCLUIDOS 19/08/2007 13:25:55
#231566
Deu certo, outro reparei outro problema. Ex:

Tenho duas data (data_abertura)

03/01/2007 e 04/05/2007

se no sistema nos textbox que receben as datas digitadas pelo tiver no modelo abaixo o sistema não retirna nada

02/01/2007 a 01/08/2007

Agora se eu digitar

03/01/2007 a 10/08/2007

retorna o intervalo correspondente, conclusão.
Não está enchergando mm/yyyy. Como posso corrigir?

Obrigado!
ICEMAN 19/08/2007 13:44:31
#231567
usando o between

agora nao tenhu a formula aqui mais depois eu coloco se possivel ainda hoje sei que é

CONSULTASQL = "SELECT area_ofensora, SUM(qtd) AS qtd " & _
"FROM Tabprocessos " & _
" where data_abertura between '"......

mais depois eu coloco pr nao sei muito bem a formula de cabeça
USUARIO.EXCLUIDOS 19/08/2007 16:10:06
#231578
...
USUARIO.EXCLUIDOS 26/08/2007 00:38:25
#232707
??
USUARIO.EXCLUIDOS 26/08/2007 15:30:31
#232724
?
USUARIO.EXCLUIDOS 26/08/2007 16:11:29
#232728
Resposta escolhida
Cara, tente assim:

CONSULTASQL = "SELECT area_ofensora, SUM(qtd) AS qtd " & _
"FROM Tabprocessos " & _
" where data_abertura Between #" & Format(txtdat1.Text, "mm/dd/yyyy") & "# and #" & Format(txtdat2.Text, "mm/dd/yyyy") & "# " & _
" GROUP BY area_ofensora order by sum(qtd) desc "
Set TBSQL = CON.Execute(CONSULTASQL)
Do


Caso não funcione, mude o format de "mm/dd/yyyy" para "dd/mm/yyyy" pois a configuração do Access pode estar diferente...

Se quiser tb tem um jeito mais fácil de adicionar itens no Flex:
msfgrade.Rows = msfgrade.FixedRows + 1
Do Until TBSQL.EOF
msfgrade.AddItem TBSQL("area_ofensora") & vbTab & TBSQL("qtd")
TBSQL.MoveNext
Loop
msfgrade.RemoveItem msfgrade.FixedRows


Qualquer dúvida poste..abços
Tópico encerrado , respostas não são mais permitidas