Ir para conteúdo

POWERED BY:

Arquivado

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

securityBR

Conflito RecordSet

Recommended Posts

Boa noite.

 

Esta retornandso o sequinte erro com meu script:

 

 

Tipo de erro:

ADODB.Recordset (0x800A0BB9)

Os argumentos são incorretos, estão fora do intervalo aceitável ou estão em conflito.

/sigma/inicio.asp, line 22

 

codigo:

 

If Request.Form("optjan")="01" then
str = "Select item, sum(total) as DtEntrega from TABELA where month(DtEntrega)="&Request.Form("optjan")&" group by item order by sum(total)desc"
end if
set Ped = Server.CreateObject("ADODB.RecordSet")
Ped.open str, conexao,3,3  



If Request.form("optfev")="02" then
fev = "Select item, sum(total) as DtEntrega from TABELA where month(DtEntrega)="&Request.Form("optfev")&" group by item order by sum(total)desc"
end if
set Ped = Server.CreateObject("ADODB.RecordSet")
Ped.open fev,conexao,3,3

 

Aguardo a ajuda, obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você esta usando um recordset para duas atribuições, coloque nomes diferentes

 

If Request.Form("optjan")="01" then
str = "Select item, sum(total) as DtEntrega from TABELA where month(DtEntrega)="&Request.Form("optjan")&" group by item order by sum(total)desc"
end if
set Ped = Server.CreateObject("ADODB.RecordSet")
Ped.open str, conexao,3,3 



If Request.form("optfev")="02" then
fev = "Select item, sum(total) as DtEntrega from TABELA where month(DtEntrega)="&Request.Form("optfev")&" group by item order by sum(total)desc"
end if
set Ped2 = Server.CreateObject("ADODB.RecordSet")
Ped2.open fev,conexao,3,3

Compartilhar este post


Link para o post
Compartilhar em outros sites

você esta usando um recordset para duas atribuições, coloque nomes diferentes

 

If Request.Form("optjan")="01" then
str = "Select item, sum(total) as DtEntrega from TABELA where month(DtEntrega)="&Request.Form("optjan")&" group by item order by sum(total)desc"
end if
set Ped = Server.CreateObject("ADODB.RecordSet")
Ped.open str, conexao,3,3 



If Request.form("optfev")="02" then
fev = "Select item, sum(total) as DtEntrega from TABELA where month(DtEntrega)="&Request.Form("optfev")&" group by item order by sum(total)desc"
end if
set Ped2 = Server.CreateObject("ADODB.RecordSet")
Ped2.open fev,conexao,3,3

 

 

alterei o segundo RecordSet e continua o mesmo erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

A aplicação está usando argumentos de tipo incorreto, fora da faixa aceitável ou em conflito com outros argumentos. verifique se você esta passando um argumento incompativel, ou um campo invalido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A aplicação está usando argumentos de tipo incorreto, fora da faixa aceitável ou em conflito com outros argumentos. verifique se você esta passando um argumento incompativel, ou um campo invalido.

 

Como assim ?

Eu estou fazendo essa consulta em uma unica tabela só que a segunda retorna valores diferentes, assim:

 

para exibir o resultado da consulta 1 uso: <%=Ped.Fields("DtEntrega")%>

 

para exibir o resultado da segunda instrução sql uso: <%=MesFev.Fields("DtEntrega")%>

 

Está errado ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

de onde veio MesFev?

Compartilhar este post


Link para o post
Compartilhar em outros sites

de onde veio MesFev?

 

Bom dia Mário,

 

Este é o código com a alteração no recordset:

 

If Request.Form("optjan")="01" then
str = "Select item, sum(total) as DtEntrega from FIAT where month(DtEntrega)="&Request.Form("optjan")&" group by item order by sum(total)desc"
end if
set Ped = Server.CreateObject("ADODB.RecordSet")
Ped.open str, conexao,3,3  



If Request.form("optfev")="02" then
fev = "Select item, sum(total) as DtEntrega from FIAT where month(DtEntrega)="&Request.Form("optfev")&" group by item order by sum(total)desc"
end if
set fevereiro = Server.CreateObject("ADODB.RecordSet")
fevereiro.open fev,conexao,3,3

parte do codigo onde tento exibir os dados relativos a consulta:

 

<td bgcolor="#D7F4EB" class="titulo_menor"><div align="center">[b]<%=Ped.Fields("item")%>[/b]</div></td>
			  <td bgcolor="#F2F2F2" class="titulo_menor"><div align="center">[b]<%=Ped.Fields("DtEntrega")%>[/b]</div></td>
			  <td bgcolor="#F2F2F2" class="titulo_menor"><div align="center">[b]<%=fevereiro.Fields("DtEntrega")%>[/b]</div></td>

 

Agora a página nem esta sendo exibida...

Compartilhar este post


Link para o post
Compartilhar em outros sites

você esta passando o Request.Form("optjan") em um campo data.

Da um

response.write str

response.End()

para ver o que esta sendo passado na consulta

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta retornando a consulta:

 

Select item, sum(total) as DtEntrega from TABELA where month(DtEntrega)=01 group by item order by sum(total)desc

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, consegui, o erro parou, mudei o codigo para:

 

inst_sql = ("Select item, sum(total) as DtEntrega from TABELA where month(DtEntrega)='"&Request.Form("optjan")&"'&'"& request.form("optfev")&"' group by item order by sum(total)desc")

set sql = Server.CreateObject("ADODB.RecordSet")
sql.open inst_sql,conexao,3,3

Porém nao aparece a consulta, sabe me dizer pelo código se a busca pelos dois request.form esta certa ?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

os critérios passados na consulta , realmente são válidos ?? eles satisfazem a consulta ??

e você precisa mesmo, concatenar '"&Request.Form("optjan")&"'&'"& request.form("optfev")&",

embre-se você esta passando um valor para month...

Compartilhar este post


Link para o post
Compartilhar em outros sites

os critérios passados na consulta , realmente são válidos ?? eles satisfazem a consulta ??

e você precisa mesmo, concatenar '"&Request.Form("optjan")&"'&'"& request.form("optfev")&",

embre-se você esta passando um valor para month...

 

Primeiramente obrigado pela atenção dada.

Entao preciso concatenar pois tenho que exibir os dados referente aos meses em uma unica consulta.

Tenho que exibir o total das peças por mes..

Não sei se estou fazendo certo mais a idéia é esta que postei nos códigos..

 

Obrigado amigo, abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

você quer a DtEntrega entre '"&Request.Form("optjan")&"' e '"& request.form("optfev")

Compartilhar este post


Link para o post
Compartilhar em outros sites

você quer a DtEntrega entre '"&Request.Form("optjan")&"' e '"& request.form("optfev")

 

Não, quero exibir toda produção feita no mes de (janeiro Request.Form("optjan") e (request.form("optfev") fevereiro)

 

Mudei o codigo e funcionou para o mes de janeiro só que para o mes de fevereiro ele soma apenas o total de um item produzido no mes:

 

 

 

 

Dim optjan
optjan = Request.Form("optjan")
Dim str
str = "SELECT item, SUM(total) AS DtEntrega From FIAT"
if  (optjan <> "") then
  str = str + " Where Month(DtEntrega) = " + optjan 
end if
   str = str + " Group By Item Order By SUM(total)DESC"

'Criamos o RecordSet Ped
Set Ped = Server.CreateObject("ADODB.RecordSet")
Ped.Open str,conexao,3,3 


'********************************************************************

Dim optfev 
optfev = Request.Form("optfev")
Dim sql_fev
sql_fev = "SELECT item, SUM(total) AS DtEntrega From FIAT"
if  (optfev <> "") then
  sql_fev = sql_fev + " Where Month(DtEntrega) = " + optfev
end if
   sql_fev = sql_fev + " Group By Item Order By SUM(total)DESC"

'Criamos o RecordSet const_fev
Set const_fev = Server.CreateObject("ADODB.RecordSet")
'response.write sql_fev
'response.End()
const_fev.Open sql_fev,conexao,3,3

 

Ve se da pra entender...

 

Posso te enviar o banco e o arquivo que criei ? assim da pra você entender. Me passa seu e-mail nao tem erro nao, realmente preciso dessa ajuda. Meu trampo depende disso....

Vlw mais uma vez.

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique o que esta sendo passado no optfev = Request.Form("optfev")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dei um response.wirte na consulta pra ver oq estava se passando em fevereiro

 

SELECT item, SUM(total) AS DtEntrega From FIAT Where Month(DtEntrega) = 02 Group By Item Order By SUM(total)DESC

Esta retornando os dados pelo mes 02 - esta correto

 

Fiz a mesma coisa na consulta para janeiro

SELECT item, SUM(total) AS DtEntrega From FIAT Where Month(DtEntrega) = 01 Group By Item Order By SUM(total)DESC

Esta retornando corretamente tambem porém, olha a imagem abaixo para ver o que acontece no resultado da busca:

 

http://img187.imageshack.us/img187/2554/imgkj4.jpg

 

agora acho que da pra entender melhor..

 

obrigado mais uma vez a todos..

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.