Ir para conteúdo

POWERED BY:

Arquivado

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

Dony

Alguem conhece esse erro?

Recommended Posts

Pessoal,estou com problema que nunca tive antes, ao chamar uma função dá o seguinte erro:Erro de compilação do Microsoft VBScript (0x800A03F2)Identificador esperado/banner/mostra.asp, line 11, column 19function GetBanner(1,1)na página mostra.asp só coloco o include chamando essa uma pagina do codigo abaixo e chamo a function function GetBanner(1,1)

Set Conexao = Server.CreateObject("ADODB.Connection")	Conexao.Open "Provider=Microsoft.JET.OLEDB.4.0; Data Source=D:\Inetpub\wwwroot\banner\banner2.mdb"function GetBanner(Z, T)		 		'faço o select pra saber quais banners e zona exibir	Set rs = Conexao.Execute("SELECT * FROM banners WHERE status='s' AND tamanho="&T&" AND zona="&Z&"")		if rs.EOF then	    rs.MoveFirst                    idInicio = rs("idInicio")	end if	if rs.BOF then	    rs.MoveLast                    idFim = rs("idFim")	end if	'Atualizo primeiro e ultimo  registro da tabela exibicaoset primUlt= conexao.execute("update exibicao set primeiro='"&idInicio&"', ultimo ='"&idFim&"' where tamanho="&T&" AND zona="&Z&"")'faço o select pra saber qual o último banner que foi exibido Set rs2 = Conexao.Execute("SELECT * FROM exibicao WHERE tamanho="&T&" AND zona="&Z&"")'Pego o ID do ultimo banner que foi exibido na tabela exibição e movo o registro pra frenteSet Banners = Conexao.Execute("SELECT * FROM banners WHERE status='s' AND tamanho="&T&" AND zona="&Z&" AND dataInicio>=now() and (dataFim<=now() or dataFim = 0) and IDbanners = "&rs("Idatual")&"")banners.moveNextif banners("id") = idFim then   banners("id") = idInicioEnd If'criar um arquivo chamados redir.asp que recebe os dados desse banner e  redireciona para o site contando um click a mais.		If banners("media") = "swf" Then 			response.Write("<embed src=""" & banners("imagem") & """ quality=high WIDTH=""" & banners("largura") & """ HEIGHT=""" & banners("altura") & """ TYPE=""application/x-shockwave-flash"">")		Else 			response.Write("<a href=ir.asp?id=" & banners("idBanner") & """><img src=""" & banners("imagem") & """ border=""0"" alt=""" & banners("alt") & """ WIDTH=""" & banners("altura") & """ HEIGHT=""" & banners("largura") & """></a>")		End Ifend Function%> 

Valeu pela ajudaDony

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu estou passando parametros assim function GetBanner(1,1) e é exatamente aqui que está o erro, para recuperar e dar inicio à função uso function GetBanner(Z, T)

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara...seguinte....função tem que retornar um valor... então

em vez de response.write seria

 

functrion GetBanner(Z,T)'inicio do código...'parte onde você passa o resultado para a funçãoGetBanner=("<embed src=""" & banners("imagem") & """ quality=high WIDTH=""" & banners("largura") & """ HEIGHT=""" & banners("altura") & """ TYPE=""application/x-shockwave-flash"">")  Else	response.Write("<a href=ir.asp?id=" & banners("idBanner") & """><img src=""" & banners("imagem") & """ border=""0"" alt=""" & banners("alt") & """ WIDTH=""" & banners("altura") & """ HEIGHT=""" & banners("largura") & """></a>") end function
para chamar a função use apenas

GetBanner(1,1)

para chamar a função e imprimir o resultado

response.write(GetBanner(1,1))

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu Galera agora foi usando o que o JivanDf disse, agora está dando aqueles errinhos bobos de instrução nesta linha:

set primUlt= conexao.execute("update exibicao set primeiro='"&idInicio&"', ultimo ='"&idFim&"' where tamanho="&T&" AND zona="&Z&"")

já tirei as aspas simples mas não resolveu... não estou conseguindo ver onde está o erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dony da uma olha no seguinte no BD, você não pode ir tirando as aspas faz assim:

 

coluna - formato em asp

texto = '"& texto &"'

numero = "& numero &"

 

texto com aspas simples e duplas - '" -

numero somente aspas duplas - " -

Compartilhar este post


Link para o post
Compartilhar em outros sites

se for campo tipo data no access você deve usar assim#"&data&"#só um detalhe, usando Call você chama uma sub e não uma function, diferenças entre elas é que sub não retorna valores, é apenas uma rotina e function obrigatoriamente deve retornar um valor

Compartilhar este post


Link para o post
Compartilhar em outros sites

Janathan vlw pela dica do call, eu não sabia dessa, mas sempre utilizo funções e sempre chamei com call, e todas funcionam numa boa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoar.... Valeu muit pelas dicas, mas olha o que está acontecendo, não consigo mover os ponteiros para saber o primeiro e ultimo registro fazendo assim:

if rs.EOF then    rs.MoveFirst    idInicio = rs("idInicio")End ifIf rs.BOF then    rs.MoveLast    idFim = rs("idFim")end if

Não tá dando certo... alguem poderia me dar uma luzzzzzzzz

Compartilhar este post


Link para o post
Compartilhar em outros sites

pois é, seria assim a logica do esquemaFUNÇÃO

if rs.EOF thenrs.MoveFirstidInicio = rs("idInicio")End ifIf rs.BOF thenrs.MoveLastidFim = rs("idFim")end if

Não tá dando certo... alguem poderia me dar uma luzzzzzzzz

Compartilhar este post


Link para o post
Compartilhar em outros sites

então fiz isso também, mas se dá certo com o primeiro não dá com o ultimo, aparece uma mensagem de erro dizendo que as linhas não podem mover?!Alguém saberia como pegar o primeiro e ultimo registro de uma tabela?

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.