Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Davidmg

como dar um select!!!

Recommended Posts

Salve amigos...

 

Como faço pra dar um select em uma tabela onde a data estiver em um seguinte periodo.

 

Ex: quero mostrar todos da tabela em que a data estiver entre 01/06/2005 a 30/06/2005.

 

Select * from tabela where....daí ja nao sei como fazer esse select...alguem sabe?

 

Aguardo.

 

Valewww

David

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

cria dois forms para serem inseridos as datas ^^nu caso dai voce vai fazer um select em todas as datas que forem >= 01/06/2005 e <= 30/06/2005entendeu ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim:

 

Select * from tabela where campodata BETWEEN #01/06/2005# AND #30/06/2005#

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já fiz das 2 formas e não deu certo.

 

Fiz assim:

ASP

[*]<%

 

[*]Set RS MyConn.Execute("Select * From Pedido Where Data >= 01/06/2005 and <= 30/06/2005 Order By Id DESC;")

 

[*]%>

Ele dá o seguinte erro:

Erro de sintaxe (operador faltando) na expressão de consulta '(Data >= 01/06/2005 and <= 30/06/2005)'

 

E tentei da outra forma tb:

ASP

[*]<%

 

[*]Set RS MyConn.Execute("Select * From Pedido Where Data BETWEEN #01/06/2005# and #30/06/2005# Order By Id DESC;")

 

[*]%>

 

Com o BETWEEN não dá erro, mas ele lista alguns registros fora dessas datas ex: 20/04/2005 - 25/04/2005...etc.

 

Já tentei fazer a pesquisa pelo campo Datapesq q tenho na tabela, que é o campo onde eu gravo a data inversa: ano/mes/dia - 2005/06/30 e usando a primeira forma da o mesmo erro e usando o BETWEEN ele lista todos os registros existentes no bd sem fazer a compração das datas.

 

Alguem pode me dar uma luz por favor?

Aguardo

 

OBRIGADO!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

é importantes você ver o formato da data usado pelo seu bd...PS: não é o formato de visualização e sim o de armazenamento...

Compartilhar este post


Link para o post
Compartilhar em outros sites

é importantes você ver o formato da data usado pelo seu bd...

 

PS: não é o formato de visualização e sim o de armazenamento...

<{POST_SNAPBACK}>

Estou armazenando assim:

 

No campo DATA: 30/06/2005

 

E no campo DATAPESQ: 2005/06/30

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz da seguinte maneira e deu um erro:

 

ASP

[*]<%

 

[*]Dia1 Request.form("dia")

 

[*]Mes1 Request.form("mes")

 

[*]Ano1 Request.form("ano")

 

[*]Dia2 Request.form("dia1")

 

[*]Mes2 Request.form("mes1")

 

[*]Ano2 Request.form("ano1")

 

[*]

 

[*]Data1 = ano1 & "/" & mes1 & "/" & dia1

 

[*]Data2 = ano2 & "/" & mes2 & "/" & dia2

 

[*]

 

[*]Set RS MyConn.Execute("Select * From Pedido where [Datapesq] >= " & "#" & Data1 & "#" and [Datapesq] <= " & "#" & Data2 & "#" & " Order by Id Desc;")

 

[*]%>

 

Deu o erro:

Erro de compilação do Microsoft VBScript (0x800A03EE)')' esperado/rvm/vendas/tela_fina_pes.asp, line 29, column 67Set RS = MyConn.Execute("Select * From Pedido where [Datapesq] >= "#" & Data1 & "#" and [Datapesq] <= " & "#" & Data2 & "#" Order by Id Desc;")------------------------------------------------------------------^
E agora, oq pode ser?

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

neste ponto faltou um &mas nem precisa separar os # do resdto do texto da sql...isso vai corrigir este erro, mas podem surgir outros...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais um erro:

 

Erro de compilação do Microsoft VBScript (0x800A03EE)')' esperado/rvm/vendas/tela_fina_pes.asp, line 29, column 111Set RS = MyConn.Execute("Select * From Pedido where [Datapesq] >= " & "#" & Data1 & "#" and [Datapesq] <= " & "#" & Data2 & "#" & " Order by Id Desc;")--------------------------------------------------------------------------------------------------------------^

Putz, data é f*** hein...complicado!!!

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

AAlves,Voce está concatendo as variaveis, e mesmo assim voce fecha, mas reabre depois as aspas...No caso dele, não !O Erro está ali...Pode ter certeza !!!Segue a instrução correta

Select * From Pedido where [Datapesq] >= " & "#" & Data1 & "# and [Datapesq] <= " & "#" & Data2 & "# Order by Id Desc;"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marcelo e AAlves,Com o último codigo nao deu erro mais...mas ele nao lista os registros entre as datas q informei, ele listou todos os registros.Estou fazendo a pesquisa pelo campo DATAPESQ q grava as datas assim: 2005/06/30 está certo ou tenho q fazer a pesquisa pelo campo DATA mesmo q esta gravado assim 30/06/2005 ?Aguardo...Obrigado pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao sei se funcionadata01= request.form("data01")data02= request.form("data02")sql = "Select * From Pedido where data >= "& data &" or data <= " & data02 & " order by desc"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao sei se funciona

 

data01= request.form("data01")

data02= request.form("data02")

 

sql = "Select * From Pedido where data >= "& data &" or data  <= " & data02 & " order by desc"

<{POST_SNAPBACK}>

Não deu certo...ele lista todos os registros existentes...

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

o data1 tem de ser menor que data2 senão vai pegar tudo....

Compartilhar este post


Link para o post
Compartilhar em outros sites

o data1 tem de ser menor que data2 senão vai pegar tudo....

<{POST_SNAPBACK}>

Mas a data1 é menor q a data2:

 

Data1: 20/06/2005

Data2: 25/06/2005

 

Daí mando pesquisar todos os registros que estejam entre essas datas e ele retorna todos, todos mesmo com data fora dessa compração...

 

Tá f***...me ajude!!!

 

Abraços..

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente assim

 

ASP

    [*]data01request.form("data01")

     

    [*]data02request.form("data02")

     

    [*]

     

    [*]sql "Select * From Pedido where data >= #"& data01 &"# AND data <= #" & data02 & "# order by desc"

 

 

se não funcionar ainda inverte o dia e mes asssim

 

ASP

    [*]data01request.form("data01")

     

    [*]data01 month(data01) & "/" & day(data01) & "/" & year(data01) 

     

    [*]data02request.form("data02")

     

    [*]data01 month(data02) & "/" & day(data02) & "/" & year(data02) 

     

    [*]

     

    [*]sql "Select * From Pedido where data >= #"& data01 &"# AND data <= #" & data02 & "# order by desc"

Compartilhar este post


Link para o post
Compartilhar em outros sites

David.A pesquisa tem quer ser feita no formato "MM/DD/AAAA"...A SQL deve ficar assim.

Select * from tabela where campoDATE >=#" & 01/30/2005 & "#"

Notem: independente do formato da máquina e independente do Session.LCID------------EDITADO---------Putz..Falei uma coisa e escrevi outra.

Compartilhar este post


Link para o post
Compartilhar em outros sites

David.

 

A pesquisa tem quer ser feita no formato "MM/DD/AAAA"...

 

A SQL deve ficar assim.

 

Select * from tabela where campoDATE >=#" & 01/30/2005 & "#"

 

Notem: independente do formato da máquina e independente do Session.LCID

 

------------EDITADO---------

Putz..Falei uma coisa e escrevi outra.

<{POST_SNAPBACK}>

Putz, vou ter q gravar meu bd inteiro novamente com a data mes/dia/ano ?

Pq só gravei dia/mes/ano e ano/mes/dia

 

Hehehehe...vou fazer isso e testar

 

Valew

Compartilhar este post


Link para o post
Compartilhar em outros sites

David.Presta atenção.....Se voce estiver incluindo os registros através do comando "Insert Into", voce deve inclui-los da forma informada "MM/DD/AAAA".Entretanto, caso esteja incluindo os registro através dos métodos do recordset, ou na mão "Direto no ACCESS", voce pode inclui-los da forma correta "DD/MM/AAAA".E, independente de como voce inclui os registros, a consulta deve ser invertida. Para saber como estão seus registros (Se estão OK), altere a forma de visualização no Paine de Controle, e abra a tabela diretamente no ACCESS.Se voce visualizar certinho "DD/MM/AAAA" é porque os registros estão OK, caso apareça alguma divergência. Como por exemplo, voce registrou 5 de janeiro, e está aparecendo 1 de maio, é poque o registro foi incluido de forma incorreta.Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.