Prezados,
Estou desenvolvendo um portal para a intranet da empresa onde trabalho, nessa intranet estou colocando uma página de aniversariantes do mês eu havia criado uma tabela com os dados dos funcionários manualmente e realizado a busca até ai tudo funcionou perfeitamente, porém a empresa é de porte multinacional e na área a qual trabalho existem 250 funcionários e está sempre alterando saindo gente e entrando gente nova então tive a seguinte ideia, buscar os dados direto do banco de dados do RH, criei uma tabela que esta com vínculos a tabela do RH, essa tabela possui usuário e senha para acesso e está em um servidor cujo o DSN se chama TO10.
Informações sobre o código:
Código que funciona com a tabela manual sem vínculos:
<%
Option Explicit
Session.LCID = 1046
Dim ObjConn, ObjRs, SQL
Set ObjConn = Server.CreateObject("ADODB.Connection")
Set ObjRs = Server.CreateObject("ADODB.RecordSet")
ObjConn.Open "DBQ=" & Server.MapPath("FuncionariosLTQ.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}"
SQL = "SELECT NmFunc, Area, DtAniversario, Email FROM TbFuncionariosLTQ WHERE month(DtAniversario) = month(Date()) ORDER BY DtAniversario;"
Set ObjRs = ObjConn.Execute(SQL)
dim data
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
<title>Aniversariantes do Mês</title>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="69%">
<tr>
<td width="50%"><img src="Informacoes.jpg" alt="Aniversariantes do Mês" width="262"
height="66"></td>
<td width="50%"><a href="Navegador.asp"><img src="BotaoInicio.bmp" align="right"
border="0" hspace="0" width="37" height="22"></a><a href="TipoAniversariantes.asp"><img
src="BotaoVoltar.bmp" align="right" border="0" hspace="0" width="37" height="26"></a></td>
</tr>
</table>
<p><br>
</p>
<table border="1" width="69%" bgcolor="#002866" height="1">
<tr>
<th align="left" width="205" bgcolor="#C0D9D9"><p align="center"><font face="arial">Nome</font></th>
<th align="left" width="62" bgcolor="#C0D9D9"><p align="center"><font face="arial">Área</font></th>
<th align="left" width="75" bgcolor="#C0D9D9"><p align="center"><font face="arial">Dia</font></th>
<th align="left" width="154" bgcolor="#C0D9D9"><p align="center"><font face="arial">E-mail</font></th>
</tr>
<% while not ObjRs.EOF
data=""
dim x,y,controle,t,data2
data2=""
data2 = ObjRs("DtAniversario")
x=1
y=1
controle=0
while controle < 2
if mid(data2,x,1)="/" then
controle=controle+1
end if
if controle < 2 then
data = data & mid(data2,x,1)
end if
x=x+1
wend
%>
<tr>
<td bgcolor="#F0F0F0"><p align="center"><font size="2" face="arial"><% Response.write ObjRs("NmFunc") %></font></td>
<td width="62" bgcolor="#F0F0F0"><p align="center"><font size="2" face="arial"><% Response.write ObjRs("Area") %></font></td>
<td width="75" bgcolor="#F0F0F0"><p align="center"><font size="2" face="arial"><% Response.write data%></font></td>
<td width="154" bgcolor="#F0F0F0"><p align="center"><font size="2" face="arial"><% Response.write ObjRs("Email") %></font></td>
</tr>
<%ObjRs.MoveNext%>
<%Wend%>
<%
ObjConn.Close
Set ObjConn = Nothing
Set ObjRs = Nothing
%>
</table>
<p> </p>
</body>
</html>
Código que estou tentando usar na tabela com vínculos.
<%
Option Explicit
Session.LCID = 1046
Dim ObjConn, ObjRs, SQL
Set ObjConn = Server.CreateObject("ADODB.Connection")
Set ObjRs = Server.CreateObject("ADODB.RecordSet")
ObjConn.Open "DBQ=" & Server.MapPath("FuncionariosLTQvinculada.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}"
SQL = "SELECT NmFunc, Aniversario, Email FROM ACESITA_EMPREGADOS_ACE_SN WHERE and ACESITA_RH_EMPREGADOS_SN month(Aniversario) = month(Date()) ORDER BY Aniversario;"
dim data
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
<title>Aniversariantes do Mês</title>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="69%">
<tr>
<td width="50%"><img src="Informacoes.jpg" alt="Aniversariantes do Mês" width="262"
height="66"></td>
<td width="50%"><a href="Navegador.asp"><img src="BotaoInicio.bmp" align="right"
border="0" hspace="0" width="37" height="22"></a><a href="TipoAniversariantes.asp"><img
src="BotaoVoltar.bmp" align="right" border="0" hspace="0" width="37" height="26"></a></td>
</tr>
</table>
<p><br>
</p>
<table border="1" width="69%" bgcolor="#002866" height="1">
<tr>
<th align="left" width="205" bgcolor="#C0D9D9"><p align="center"><font face="arial">Nome</font></th>
<th align="left" width="62" bgcolor="#C0D9D9"><p align="center"><font face="arial">Área</font></th>
<th align="left" width="75" bgcolor="#C0D9D9"><p align="center"><font face="arial">Dia</font></th>
<th align="left" width="154" bgcolor="#C0D9D9"><p align="center"><font face="arial">E-mail</font></th>
</tr>
<% while not ObjRs.EOF
data= ""
dim x,y,controle,t,data2
data2= ""
data2 = ObjRs("Aniversario")
x=1
y=1
controle=0
while controle < 2
if mid(data2,x,1)="/" then
controle=controle+1
end if
if controle < 2 then
data = data & mid(data2,x,1)
end if
x=x+1
wend
%>
<tr>
<td bgcolor="#F0F0F0"><p align="center"><font size="2" face="arial"><% Response.write ObjRs("NmFunc") %></font></td>
<td width="62" bgcolor="#F0F0F0"><p align="center"><font size="2" face="arial"><% Response.write ObjRs("Area") %></font></td>
<td width="75" bgcolor="#F0F0F0"><p align="center"><font size="2" face="arial"><% Response.write data%></font></td>
<td width="154" bgcolor="#F0F0F0"><p align="center"><font size="2" face="arial"><% Response.write ObjRs("Email") %></font></td>
</tr>
<%ObjRs.MoveNext%>
<%Wend%>
<%
ObjConn.Close
Set ObjConn = Nothing
Set ObjRs = Nothing
%>
</table>
<p> </p>
</body>
</html>
Erro gerado:
Página abre normalmente, porem sem dados na tabela e exibe o seguinte erro:
ADODB.Recordset error '800a0e78'
Operation is not allowed when the object is closed.
/DadosApl/AIT/cadernos/PC0009129/site_novo/aniversariantes/Aniversariantes.asp, line 43