Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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
Carregando comentários...