Ir para conteúdo

POWERED BY:

Arquivado

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

shumi

Pegar o cod do DB e passar por 3 paginas antes de inserir no banco

Recommended Posts

Preciso pegar o cod que está no banco e resgatar em uma pagina, depois resgatar em outra e depois em outra ai jogar no banco novamente mas em outra tabela...Meio complicado, mas seria assim:no meu BD tem uma tabela com o cadastro de uma "ação" e tem o cod dessa ação, ai fiz assim para pegar o cod dela e jogar para uma pagina:

<%="<a href= http://www.newstyle1.com/sistema/acoes_f.asp?id=" & rs("cod") & ">" & rs("acao") & "</a>"%>
ai resgato na outra pagina(acoes_f.asp) assim:
cod = request("id")
e nessa mesma pagina "pego" o id em um hidden para jogar o cod para uma outra pagina assim:
<input type="hidden" name="cod" value="<%=cod%>">
ai nessa pagina onde jogo o hidden, resgato o cod assim:
cod = Request.Form("cod")cod = request("cod")
e faço meu SQL assim:
sql = "select * from dados where cod=" & codSet rs=Conexcao.Execute(sql)
e como na pagina anterior eu pego o cod no hidden pra joga-lo na minha pagina onde tenho o insert assim
<input type="hidden" name="cod" value="<%=cod%>">
ai na pagina que tenho o insert fiz assim:
cod = Request.Form("cod")cod = request("cod")Response.Expires = 0	SQL = "SELECT cliente from dados where cod = '"& cliente &"'" 	Set RS = conexcao.execute(SQL)	If not RS.EOF Then	sSQL = "INSERT INTO dados_vendas(cliente,estabelecimento,data,produto,inicial,entrada,final,vendas) VALUES ('"& RS("cliente") &"','"& estabelecimento &"','"& data &"','"& produto &"','"& inicial &"','"& entrada &"','"& final &"','"& vendas &"')"	Conexcao.Execute sSQL,intRetorno	End If	set RS=nothingConexcao.closeSet Conexcao=nothingresponse.redirect("relatorio_campanha.asp?msg=1")%>
e dá erro...

Microsoft OLE DB Provider for ODBC Drivers erro '80040e07' [Microsoft][Driver ODBC para Microsoft Access] Tipo de dados imcompatível na expressão de critério. /sistema/acoes_valida.asp, line 27

como posso resolver, estou tentando faz tempo e não consigo... :blink: Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

No BD o campo COD é do tipo Texto ou Numero?

Compartilhar este post


Link para o post
Compartilhar em outros sites

No BD o campo COD é do tipo Texto ou Numero?

auto numeração, pois esse cod é resgatado de uma tabela e quando ele passa por todas as paginas e chega na pagina de insert ele faz aquele Sql para consultar quem é o cliente correspondente a esse cod!AbraçosNão sei se estou certo, mas acho que por ele passar por todas as paginas ele vai ficando assim:ex. 25,25,25 e quando vai fazer o Sql ele procura o cod 25,25,25 mas não sei se estou certo....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, então retire as ' (aspas simples) das SQL's que utilizem esse campo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai deu o erro:

Microsoft OLE DB Provider for ODBC Drivers erro '80040e14' [Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe (operador faltando) na expressão de consulta 'cod ='. /sistema/acoes_valida.asp, line 25

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Retire os espaços antes e depois do "="

Compartilhar este post


Link para o post
Compartilhar em outros sites

opaaaa...--------------------------------------------------------------------------SQL = "SELECT cliente from dados where cod = '"& cliente &"'"--------------------------------------------------------------------------entao, se esse campo Cod for numerico é só você por assimSQL = "SELECT cliente from dados where cod = "& clienteou entao axo q você trocou as bolas ae, se pah é assim:SQL = "SELECT cliente from dados where cliente= "& cod

Compartilhar este post


Link para o post
Compartilhar em outros sites

Testa esse:

Cliente = request("cod")

Response.Expires = 0

SQL = "SELECT cliente from dados where cod="& cliente &";"
Set RS = conexcao.execute(SQL)
If not RS.EOF Then
Response.Write("Entrei no IF para gravar!")
sSQL = "INSERT INTO dados_vendas(cliente,estabelecimento,data,produto,inicial,entrada,final,vendas) VALUES ('"& RS("cliente") &"','"& estabelecimento &"','"& data &"','"& produto &"','"& inicial &"','"& entrada &"','"& final &"','"& vendas &"')"
Conexcao.Execute sSQL,intRetorno
End If

set RS=nothing

Conexcao.close
Set Conexcao=nothing
'response.redirect("relatorio_campanha.asp?msg=1")
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

deu erro....

Microsoft OLE DB Provider for ODBC Drivers erro '80040e14' [Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe (operador faltando) na expressão de consulta 'cod='. /sistema/acoes_valida.asp, line 25

o erro pode ser só aqui ou pode ser nos arquivos anteriores???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se nas páginas anteriores o Cod vai para um hidden estou subentendendo que há um form. Faça um debug simples em cada página coloque um Response.Write para veo o valor de COD na tela, se em algum momento sumir é pq nessa página há algo errado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu certo!!!!

 

Valeu

 

foi falta de atenção no meu primeiro hidden tinha esquecido de uma aspa

 

<input type="hidden" name=cod" value="<%=cod%>">

ai não estava pasando para a segunda pagina.

 

Valeu!!!!

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza,

Parabéns tiozinho! (frase by tiu mário!)

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza,Parabéns tiozinho! (frase by tiu mário!)

Licensed to: Mário http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

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.