'-------------------------------------------------
'Pagina 1: funcionarios.asp
'-------------------------------------------------
<%@ Language=VBScript %>
<%
Response.expires = 0
Response.expiresabsolute = Now() - 1
Response.addHeader "pragma", "no-cache" 'não armazena no cache os dados gerados
Response.addHeader "cache-control", "private" 'não armazena no cache os dados gerados
Response.CacheControl = "no-cache" 'não armazena no cache os dados gerados
Session.LCID = 1046
%>
<HTML>
<TITLE>Pesquisa de Funcionários</TITLE>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<meta http-equiv="Content-Language" content="pt-br">
<HEAD>
<script>
// a funcao abaixo pega a versao mais nova do xmlhttp do ie.
function createXMLHTTP() {
var arrSignatures = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0",
"MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP",
"Microsoft.XMLHTTP"];
for (var i=0; i < arrSignatures.length; i++) {
try {
var oRequest = new ActiveXObject(arrSignatures[i]);
return oRequest;
} catch (oError) {
}
}
throw new Error("MSXML is not installed on your system.");
}
function recuperarFunc(Nome)
{
// criacao do objeto XMLHTTP
var oHTTPRequest = createXMLHTTP();
// Abrindo a solicitacao HTTP. o primeiro parametro informa o metodo post/get
// o segundo parametro informa o arquivo solicitado que pode ser asp, php, txt, xml, etc
// o terceiro parametro informa que a solicitacao nao assincrona,
// para solicitacao sincrona o parametro deve ser false
oHTTPRequest.open("post", "execfunc.asp", true);
// para solicitacoes utilizando o metodo post deve ser acrescentado
// este cabecalho HTTP
oHTTPRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
// a funcao abaixo e executada sempre que o estado do objeto muda (onreadystatechange)
document.all.divFuncionarios.innerHTML="<select style='width:300px'><option>Procurando ...</option></select>";
oHTTPRequest.onreadystatechange=function() {
// o valor 4 significa que o objeto ja completou a solicitacao
if (oHTTPRequest.readyState==4){
// abaixo o texto do gerado no arquivo executa.asp e colocado no div
document.all.divFuncionarios.innerHTML = oHTTPRequest.responseText;
}
}
// abaixo e enviada a solicitacao. Note que a configuracao
// do evento onreadystatechange deve ser feita antes do send.
oHTTPRequest.send("Nome=" + Nome);
}
function recuperarInfo(Matricula)
{
// criacao do objeto XMLHTTP
var oHTTPRequest = createXMLHTTP();
// Abrindo a solicitacao HTTP. o primeiro parametro informa o metodo post/get
// o segundo parametro informa o arquivo solicitado que pode ser asp, php, txt, xml, etc
// o terceiro parametro informa que a solicitacao nao assincrona,
// para solicitacao sincrona o parametro deve ser false
oHTTPRequest.open("post", "execfunc.asp?cmd=info", true);
// para solicitacoes utilizando o metodo post deve ser acrescentado
// este cabecalho HTTP
oHTTPRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
// a funcao abaixo e executada sempre que o estado do objeto muda (onreadystatechange)
//document.all.divFuncionarios.innerHTML="<select style='width:400px'><option>Procurando ...</option></select>";
oHTTPRequest.onreadystatechange=function() {
// o valor 4 significa que o objeto ja completou a solicitacao
if (oHTTPRequest.readyState==4){
// abaixo o texto do gerado no arquivo executa.asp e colocado no div
document.all.divDetalhes.innerHTML = oHTTPRequest.responseText;
}
}
// abaixo e enviada a solicitacao. Note que a configuracao
// do evento onreadystatechange deve ser feita antes do send.
oHTTPRequest.send("Matricula=" + Matricula);
//alert("Matricula=" + Matricula);
}
</script>
</HEAD>
<body onload="recuperarFunc(document.formulario.Nome.value)">
<form id="formulario" name="formulario">
<table border="0">
<tr>
<td>Pesquisa (Digite o nome do funcionário):</td>
<td>
<INPUT type="text" name="Nome" size="50" style='width:300px' onKeyUp="recuperarFunc(this.value)" onKeydown="recuperarFunc(this.value)">
</td>
</tr>
<tr>
<td></td>
<td><div id="divFuncionarios"></div>
</td>
</tr>
<tr>
<td></td>
<td><div id="divDetalhes"></div>
</td>
</tr>
</table>
</form>
</body>
</HTML>
'-------------------------------------------------
'Página 2: execfunc.asp
'-------------------------------------------------
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<meta http-equiv="Content-Language" content="pt-br">
<font face=verdana size=2>
<%
Session.LCID = 1046
Set Conn = Server.Createobject("ADODB.Connection")
sConnectionString = "PROVIDER=MSDASQL;DRIVER={SQL Server};SERVER=SERVIDOR;DATABASE=BANCODADOS;UID=USUARIO;PWD=SENHA"
Conn.open sConnectionString
Dim Registro
if request("cmd") = "info" then
set Registro = createobject("adodb.recordset")
set Registro.activeconnection = conn
Registro.cursortype = 3
Consulta = "SELECT * FROM SRA010 WHERE RA_MAT = '" & Request.Form("Matricula") & "' "
Registro.open Consulta
if not Registro.eof or Registro.bof then
response.write "Detalhes do Funcionário: <u><b>" & Registro("RA_NOME") & "</b></u><BR><BR>"
response.write "<table width=""100%"" border=1>"
For I=0 to Registro.Fields.Count-1 'STEP 2
If Not IsNull(Registro.Fields(I)) Then
IF Registro.Fields(I).name = "RA_ADMISSA" then
Dado = mid(Server.HTMLEncode(Registro.Fields(I)),7,2) & "/" & mid(Server.HTMLEncode(Registro.Fields(I)),5,2) & "/" & mid(Server.HTMLEncode(Registro.Fields(I)),1,4)
else
Dado = Server.HTMLEncode(Registro.Fields(I))
end if
Response.Write "<tr><td width=""20%"" align=""right""><b><font face=verdana size=1>" & Registro.Fields(I).name & ": <b></font></td>"
Response.Write "<td width=""80%"" bgcolor=""#FFFFF0""><font face=verdana size=2>" & Dado & " </font></td></tr>"
End If
Next
response.write "</table>"
else
response.write "Vazio..."
end if
Registro.close
else
%>
<select name="cmbFuncionarios" id="cmbFuncionarios" style='width:300px'>
<%
set Registro = createobject("adodb.recordset")
set Registro.activeconnection = conn
Registro.cursortype = 3
Consulta = "SELECT * FROM SRA010 WHERE RA_SITFOLH <> 'D' AND RA_NOME LIKE '%" & uCase(Request.Form("Nome")) & "%' order by RA_FILIAL,RA_NOME"
Registro.open Consulta
while not Registro.eof
Response.Write "<option value=" & Registro("RA_MAT") & ">" & Registro("RA_FILIAL") & " - " & Registro("RA_MAT") & " - " & server.HTMLEncode(Registro("RA_NOME")) & "</option>"
Registro.movenext
wend
Registro.close
%>
</option>
</select>
<input type="button" value="Exibir Dados" onClick="recuperarInfo(document.all.cmbFuncionarios.value)">
<%end if%>