CONSULTA SQL AO BANCO ACCESS

USUARIO.EXCLUIDOS 25/04/2007 22:39:32
#213787
tenho um banco em access e quero fazer uma consulta da entre dia e mes
mais ou menos como esta abaixo mais não esta funcionando.
Alguem pode ajudar? O problema deve estar no between like
obrigado

Private Sub CmdConsultar_Click()
MSFgrade.Clear
Call Form_Activate
Lin = 0
CONSULTASQL = "select CodiCont, NomeCont, DatNCont, IdadCont from TabContatos where DatNCont between like '" & TxtDataInicio.Text & "%' and '" & TxtDataFim.Text & "%' order by CodiCont "
Set TBSQL = Cnn.Execute(CONSULTASQL)
Do Until TBSQL.EOF
Lin = Lin + 1
MSFgrade.Rows = Lin + 1
MSFgrade.TextMatrix(Lin, 0) = TBSQL("CodiCont")
MSFgrade.TextMatrix(Lin, 1) = TBSQL("NomeCont")
MSFgrade.TextMatrix(Lin, 2) = TBSQL("DatNCont")
MSFgrade.TextMatrix(Lin, 3) = TBSQL("IdadCont")

TBSQL.MoveNext
Loop

End Sub



HUGOSSOUZA 25/04/2007 23:17:27
#213790
tenta assim:

"select CodiCont, NomeCont, DatNCont, IdadCont from TabContatos where DatNCont between #" & format(TxtDataInicio.Text,"mm/dd/yyyy")  & "# and #" & format(TxtDataFim.Text,"mm/dd/yyyy")  & "# order by CodiCont "


não precisa do like, tem que colocar # sem aspas simples e o mes tem q ta invertido com o dia
USUARIO.EXCLUIDOS 26/04/2007 01:13:46
#213792
Assim não rola, deixa eu explicar: no banco tem a data de nascimento do cliente então esta busta eu estou fazendo por dia e mês para que me retorne as pessoas que fazem aniversario naquele mês.
EX: coloco do txtdatainicio.text 03/12 e no txtdatafim.text 31/12,
não coloco o ano para que venha todos os clientes que fazem aniversario neste intervalo
TOMPRATA 26/04/2007 02:37:16
#213793
Olá,
Se vc precisa apenas do mês, pq não usa:
select CodiCont, NomeCont, DatNCont, IdadCont from TabContatos where month(DatNCont)=7

ou se quiser apenas de 15 a 30 de junho
select CodiCont, NomeCont, DatNCont, IdadCont from TabContatos where month(DatNCont)=7 and day(DatNCont)>14 and day(DatNCont)<31


HUGOSSOUZA 26/04/2007 08:25:34
#213798
Citação:

EDSON escreveu:
Assim não rola, deixa eu explicar: no banco tem a data de nascimento do cliente então esta busta eu estou fazendo por dia e mês para que me retorne as pessoas que fazem aniversario naquele mês.
EX: coloco do txtdatainicio.text 03/12 e no txtdatafim.text 31/12,
não coloco o ano para que venha todos os clientes que fazem aniversario neste intervalo



qual o tipo do campo?
USUARIO.EXCLUIDOS 26/04/2007 10:22:50
#213820
EDSON,
tente assim:

CONSULTASQL = "select CodiCont, NomeCont, DatNCont, IdadCont from TabContatos where Month(DatNCont) between " & Month(TxtDataInicio.Text) & " And " & Month(TxtDataFim.Text) & " order by CodiCont "


assim só sera levado em consideração os meses apresentados nos text box.
um abraço
Tópico encerrado , respostas não são mais permitidas