Ir para conteúdo

POWERED BY:

Arquivado

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

Dr. admin

between da data no access

Recommended Posts

Banco:

 

Access 2003

 

campos:

 

id = Numeração Automática

data = Data/Hora

igreja = Memorando

evento = Memorando

cidade = Memorando

estado = Texto

pais = Memorando

 

 

Galera o erro é o seginte tenho uma página que mostra uma agenda, e nessa mesma página tem como

o usuário filtrar a agenda por mês, ou seja ele filtra no mes de fevereiro vai mostrar tudo o que teve

do dia 01/02/2008 a 29/02/2008, para ele filtrar assim ele usa um formulário, escolhe o mês e o valor

é enviado para a página via request.querystring............

 

mas está dando esse erro aqui..........

 

CODE

Tipo de erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)

[Microsoft][Driver ODBC para Microsoft Access] Tipo de dados imcompatível na expressão de critério.

 

ah lembrando que desse jeitinho no sql server funciona tranquilo, é que no servidor na web eu só tenho access,

por favor me ajudem a resolver esse problema, lembrando que quanto a conexão com o bando de dados está tudo certo....

 

Formulário que filtra o mês, ou seja o periodo da busca..........

 

CODE

<form action="agenda.asp" method="get" name="form" id="form">

<table width="480" border="0" align="center" cellpadding="3" cellspacing="0" class="tabelas">

<tr>

<td width="256" bgcolor="#5D7294"><div align="left"><span class="style16"><img src="imagens/botu.jpg" alt="" width="17" height="17" align="absmiddle" /> Agenda!</span></div></td>

<td width="212" bgcolor="#5D7294"><div align="left" class="style16"><strong>Filtrar Mês:

</strong>

<select name="mes" class="titulos-boto" id="mes">

<option value="13" selected>Todos</option>

<option value="01">Janeiro</option>

<option value="02">Fevereiro</option>

<option value="03">Março</option>

<option value="04">Abril</option>

<option value="05">Maio</option>

<option value="06">Junho</option>

<option value="07">Julho</option>

<option value="08">Agosto</option>

<option value="09">Setembro</option>

<option value="10">Outubro</option>

<option value="11">Novembro</option>

<option value="12">Dezembro</option>

</select>

<input type="submit" class="bts" value="Filtrar">

</div></td>

</tr>

</table>

</form>

 

variavel mes ela pega o valor que deve ser filtrado

 

CODE

mes = request.querystring("busca") 'filtra o mes que o usuário ecolheu

 

Aqui é o select, ele pega o valor da variavel mes que foi passada via querystring no formulário e executa a instrução conforme

o valor selecionado

 

 

CODE

select case request.QueryString("mes") 'seleciona e filtra o mes que o usuário ecolheu

 

case 01

strSQL = "select id,data,igreja,evento,cidade,estado,pais FROM agenda WHERE data BETWEEN '01/01/2008' and '31/01/2008' ORDER BY data DESC "

 

case 02

strSQL = "select id,data,igreja,evento,cidade,estado,pais FROM agenda WHERE data BETWEEN '01/02/2008' and '29/02/2008' ORDER BY data DESC "

 

case 03

strSQL = "select id,data,igreja,evento,cidade,estado,pais FROM agenda WHERE data BETWEEN '01/03/2008' and '31/03/2008' ORDER BY data DESC "

 

case 04

strSQL = "select id,data,igreja,evento,cidade,estado,pais FROM agenda WHERE data BETWEEN '01/04/2008' and '30/04/2008' ORDER BY data DESC "

 

case 05

strSQL = "select id,data,igreja,evento,cidade,estado,pais FROM agenda WHERE data BETWEEN '01/05/2008' and '31/05/2008' ORDER BY data DESC "

 

case 06

strSQL = "select id,data,igreja,evento,cidade,estado,pais FROM agenda WHERE data BETWEEN '01/06/2008' and '30/06/2008' ORDER BY data DESC "

 

case 07

strSQL = "select id,data,igreja,evento,cidade,estado,pais FROM agenda WHERE data BETWEEN '01/07/2008' and '31/07/2008' ORDER BY data DESC "

 

case 08

strSQL = "select id,data,igreja,evento,cidade,estado,pais FROM agenda WHERE data BETWEEN '01/08/2008' and '31/08/2008' ORDER BY data DESC "

 

case 09

strSQL = "select id,data,igreja,evento,cidade,estado,pais FROM agenda WHERE data BETWEEN '01/09/2008' and '30/09/2008' ORDER BY data DESC "

 

case 10

strSQL = "select id,data,igreja,evento,cidade,estado,pais FROM agenda WHERE data BETWEEN '01/10/2008' and '31/10/2008' ORDER BY data DESC "

 

case 11

strSQL = "select id,data,igreja,evento,cidade,estado,pais FROM agenda WHERE data BETWEEN '01/11/2008' and '30/11/2008' ORDER BY data DESC "

 

case 12

strSQL = "select id,data,igreja,evento,cidade,estado,pais FROM agenda WHERE data BETWEEN '01/12/2008' and '31/12/2008' ORDER BY data DESC "

 

case 13

strSQL = "select id,data,igreja,evento,cidade,estado,pais FROM agenda ORDER BY data DESC "

 

End Select

Compartilhar este post


Link para o post
Compartilhar em outros sites

é passado texto pelo formulario

 

entao por isso o erro de tipos

 

das duas uma

 

ou converte para numero depois de recuperar e tira os zeros depois

 

select case CINT(request.QueryString("mes")) 'seleciona e filtra o mes que o usuário ecolheu

case 1
strSQL = "select id,data,igreja,evento,cidade,estado,pais FROM agenda WHERE data BETWEEN '01/01/2008' and '31/01/2008' ORDER BY data DESC "

ou deixa como texto para os trata assim tambem colocando as aspas devidas

 

select case request.QueryString("mes") 'seleciona e filtra o mes que o usuário ecolheu

case "01"
strSQL = "select id,data,igreja,evento,cidade,estado,pais FROM agenda WHERE data BETWEEN '01/01/2008' and '31/01/2008' ORDER BY data DESC "

Compartilhar este post


Link para o post
Compartilhar em outros sites

como ficou seu codigo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

mes = CINT(request.QueryString("busca")) 'filtra o mes que o usuário ecolheu

 

select case CINT(request.QueryString("mes"))

case 01

strSQL = "select id,data,igreja,evento,cidade,estado,pais FROM agenda WHERE data BETWEEN '01/01/2008' and '31/01/2008' ORDER BY data DESC "

Compartilhar este post


Link para o post
Compartilhar em outros sites

tira o zero aqui

 

case 01

case 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

erro ainda continua.................

 

Tipo de erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)

[Microsoft][Driver ODBC para Microsoft Access] Tipo de dados imcompatível na expressão de critério.

/osmir/agenda.asp, line 63

 

 

essa linha 63 é essa aqui .....................................

 

SET rsAgenda = conexaoDataBase.execute(strSQL)

Compartilhar este post


Link para o post
Compartilhar em outros sites

acredito tambem que o SELECT ta errado

 

faça assim

 

strSQL = "select id,data,igreja,evento,cidade,estado,pais FROM agenda WHERE data BETWEEN #01/01/2008# and #01/31/2008# ORDER BY data DESC "

 

O formato da data tem qeu estar mm/dd/aaaa

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu cara agora deu certo........................

 

mes = CINT(request.QueryString("busca"))

 

select case CINT(request.QueryString("mes")) 'seleciona e filtra o mes que o usuário ecolheu

 

case 1

 

strSQL = "select data,igreja,evento,cidade,estado,pais FROM agenda WHERE data BETWEEN #01/01/2008# and #01/31/2008# ORDER BY data DESC "

 

olha que eu vasculhei a internet e muitos não conseguirão resolver esse problema valeu eum

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu cara agora deu certo........................

Parabens pela solução tiozinho

 

Abraços

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.