Ir para conteúdo

Arquivado

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

sheridan

Variable uses an Automation type not supported in

Recommended Posts

eu tenho uma pg que manda e-mails para um lista de contatos, e o seguinte erro ocorre

 

Microsoft VBScript runtime error '800a01ca'

 

Variable uses an Automation type not supported in VBScript

 

/sac/adm_mail_envio_html.asp, line 98

 

 

o código da página é o seguinte

 

<%

if session("logged") <> "sim" then

response.Redirect("erro.asp")

end if

 

if session("nivel_acesso") <> "1" then

response.Redirect("erro.asp")

end if

 

id_email = Request("id_email")

email_pers = Request("email_pers")+".htm"

Const intPageSize = 150 'tamanho da página

dim intCurrPage 'pagina atual

dim a

intCurrPage = cint(Request.QueryString("CurrPage"))

if intCurrPage=0 then intCurrPage=1 end if

 

'path e-mail html

dim ObjFSO

Set ObjFSO = Server.CreateObject("Scripting.FileSystemObject")

path = Server.MapPath("html")

 

'upload html

Set Objeto = CreateObject ("Scripting.FileSystemObject")

set GV = Objeto.OpenTextFile(path&"/" &email_pers,1,true,false)

HTML_Original = GV.ReadAll

GV.close

Set Objeto = nothing

 

Set RS = Server.CreateObject("ADODB.Recordset")

strSql="SELECT co.id_contato, co.nome_contato, co.empresa, co.email, ve.nome_vendedor, ve.telefone, ve.email_vend, "&_

"em.* FROM vendedores ve RIGHT JOIN contatos co ON ve.id_vendedor = co.vendedor LEFT JOIN email em ON em.id_email = "&_

"co.lista_email WHERE co.lista_email = "&id_email&" AND co.status_email = 'PENDENTE'"

'strSql="SELECT co.id_contato, co.nome_contato, co.empresa,co.email, ve.nome_vendedor, ve.telefone, "&_

'"co.lista_email, co.status_email, em.* FROM vendedores ve RIGHT JOIN (email em RIGHT JOIN "&_

'"contatos co ON em.id_email = co.lista_email) ON ve.id_vendedor = co.vendedor WHERE co.lista_email = "&id_email&" and co.status_email = 'PENDENTE'" 'LIMIT 0,"&bloco&""

RS.CursorLocation = 3

RS.Open strSql, CN,1,2

RS.PageSize=intPageSize

RS.AbsolutePage = intCurrPage

 

a=0

while a < intPageSize and not RS.EOF

a=a+1

 

HTML = HTML_Original ' Recuperando o HTML Original para pode fazer a personalização do e-mail

'declarando variáveis

id_contato = RS("id_contato")

nome = RS("nome_contato")

email = RS("email")

email_pers = RS("email_pers")

assunto = RS("assunto")

vendedor = RS("nome_vendedor")

telefone = RS("telefone")

email_vend = RS("email_vend")

email_rem = RS("email_rem")

 

'personalização html

'HTML = replace(HTML,"#nome#",nome_contato)

'HTML = replace(HTML,"#Empresa#",empresa)

'HTML = replace(HTML,"#nome_vendedor#",nome_vendedor)

'HTML = replace(HTML,"#telefone#",telefone)

'response.write HTML

 

'envio e-mail html

Dim myMail

Set myMail = CreateObject("CDONTS.NewMail")

myMail.From = email_rem

myMail.To = email

myMail.Subject = assunto

myMail.BodyFormat = 0

myMail.MailFormat = 0

myMail.Body = HTML

myMail.Send

Set myMail = Nothing

 

'atualização status_lista tb contatos

strSql="UPDATE contatos SET status_email = 'CONCLUIDO' WHERE id_contato = "&id_contato&"" (linha 98)

Set RS = CN.execute(strSql)

 

RS.MoveNext

wend

 

'atualização status_lista tb email

strSql= "UPDATE email SET status = 'ENVIADO' WHERE id_email = "&id_email&""

Set RS3 = CN.execute(strSql)

%>

 

é o seguinte, eu preciso que a cada vez que um e-mail for enviado, seja atualizado um campo na tb de contatos. se eu tirar este update do while, o update atualiza todos os registros da tb. tem alguma maneira de se atualizar um registro por vez ou apenas os registros da página atual???

 

caso eu não tenha explicado muito bem, me dêem um toque...

 

 

agradeço

 

 

ricardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Experimente trocar isso:

strSql="UPDATE contatos SET status_email = 'CONCLUIDO' WHERE id_contato = "&id_contato&""

Set RS = CN.execute(strSql)

Por:
RS("Status_email")="CONCLUIDO"
RS.Update

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, deu o seguinte erroMicrosoft OLE DB Provider for ODBC Drivers error '80040e37' [MySQL][ODBC 3.51 Driver][mysqld-4.0.12-max-nt]Table 'admin_contatos.co' doesn't exist /sac/adm_mail_envio_html.asp, line 98 ---------------------------------------------admin_contatos é o nome do banco e co é o apelido que dou pra tb no select. terei que mudar a sintaxe do select???

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.