USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Select
Perci
MATÃO
SP - BRASIL
Postada em 29/11/2007 10:46 hs            
Mais uma vez venho recorrer aos meus amigos, pois não consigo resolver um problema que parece ser tão fácil de resolver.
 
Quero listar no ListView todos os títulos que estiverem numa faixa de datas que for digitado (data inicial e data final). Só que no BD os registros estão gravados nmo campo, como texto e não como data.
Meu select está assim:
 
sqllanc = "Select * From Lancamentos Where vencto Between #" & Format(TxtInicio.Text, "mm/dd/yyyy") & "#  And #" & Format(TxtFinal.Text, "mm/dd/yyyy") & "# And pagamento = ' ' Order by vencto"
Só que se eu digitar data inicial 15/12/2007 e data final 15/01/2008áparece listado:
 
15/01/2008
15/02/2008
15/12/2007
 
Alguém pode me dizer por favor onde estou errando?
Obrigado
     
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 29/11/2007 11:06 hs            
Como está como texto então passe entre apóstrofos e não com "#".
Formate o campo para YYYY/MM/DD na consulta:
 
"Select * From Lancamentos Where vencto Between '" & Format(TxtInicio.Text, "YYYY/MM/DD") & "'  And '" & Format(TxtFinal.Text, "YYYY/MM/DD") & "' And pagamento = ' ' Order by vencto"
veja se dá certo colega.
 
at+
TÓPICO EDITADO
   
Perci
MATÃO
SP - BRASIL
Postada em 29/11/2007 12:42 hs            
Ghost, agradeço a sua ajuda, mas infelizmente para mim não deu certo.
 
Quando digito qualquer data inicial e final, não lista nenhum registro.
Tenho no BD, os registros com as seguintes datas:
 
15/12/2007
30/12/2007
15/01/2008
30/01/2008
15/02/2008
28/02/2008
 
Tentei retirar a formatação dos campos "yyyy/mm/dd", porém quando digito data inicial 15/12/2007 e final 15/12/2007 o registro aparece, mas se eu digitar inicial 15/12/2007 e final 30/12/2007, aparece:
 
15/12/2007
28/02/2008
30/01/2008
30/12/2007
 
seria para aparecer somente 15/12/2007 e 30/12/2007
 
Não estou conseguindo descobrir onde pode estar a falha. Se você descobrir  me avisa que eu vou continuar tentando, afinal de contas eu não desisto assim tão facil.
Valeu, abraços.
     
Martini
Pontos: 2843 Pontos: 2843
PAROBÉ
RS - BRASIL
Postada em 29/11/2007 13:56 hs         
SELECT DataString.Data
FROM DataString
Where Cdate(Data) Between #01/01/2008# And #01/31/2008#
as datas devem estar no formato mm/dd/yyyy
     
Perci
MATÃO
SP - BRASIL
Postada em 29/11/2007 15:05 hs            
Aí, pessoal, acho que encontrei a fórmula certa. Testei assim e deu certo:
 
sqllanc = "Select * From Lancamentos Where Cdate(vencto) Between #" & CDate(TxtInicio.Text) & "#  And #" & CDate(TxtFinal.Text) & "# And pagamento = ' ' Order by vencto"
Valeu pela ajuda.
Até mais.
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página