Parte 1
Parte 2
Parte 3
Parte 4 
Nosso
Objetivo : Construir uma pequena aplicação ASP com acesso a uma base de
dados Access
Exibindo
detalhes dos registros
O
nosso sistema ASP já consegue lista areas nas quais as empresas se enquadram e
listar alguns dados das empresas que pertençam as áreas, o próximo passo e
poder exibir em uma página de detalhe os dados em um formato de formulário e
que não couberam na listagem ou que por uma questão de projeto não deveriam
aparecer no meio da listagem.
A
listaEmpresa2.asp produz o resultado abaixo

Sendo
que o primeiro número de cada linha é o ID da Empresa, ora usando o mesmo conceito
que empregamos para ir da página de areas para a de empresas podemos ir da de
empresas para o detalhe de empresa.
Como
já estamos mestres, basta o que ?
Basta
criar um link que aponte para um nova página de detalhes da empresa que vou
chamar de detalheEmpresa.asp e passar o ID da empresa.
Novamente
a fim de não perder os nossos exercícios anteriores vou criar uma nova
ListaEmpresa a ListaEmpresa3.asp e é lá que vou colocar esse link, basta
alterar uma única linha dentro da subrotina listaDados.
Sub
listaDados()
'testa se foi ao final do arquivo sem encontrar nada e para
if ( rs.eof ) then
%>
<tr>
<td>
Não existem empresas cadastradas nesse área! <p>
<a href="ListaAreas2.asp">retornar</a>
</td>
</tr>
<%
else ' existem registros logo vamos listá-los
'enquanto houver registros
do while not rs.eof
%>
<tr>
<td>
<!-- exibindo um valor do ambiente VBScripp/Asp dentro do HTML -->
<a href=’detalheEmpresa.asp?emp=<%= rs("EmpresaID") %>’>
<%= rs("empresa") %> </a><%= rs("estado")
%>
</td>
</tr>
<%
' procura o próximo
rs.movenext
loop
end if
End Sub
Qual
o detalhe a destacar ?
<a href=’detalheEmpresa.asp?emp=<%=
rs("EmpresaID") %>’> <%= rs("empresa") %>
</a>
<%= rs("estado") %>
O
link composto de uma referência a rotina detalheEmpresa que ainda vamos fazer,
passando um valor chamdo emp que deverá conter o código da empresa exibida.
Veja
o efeito na página

Melhor
não ? Até porque não tinha muito sentido para os nossos clientes ficar
vendo o código da empresa, não acrescenta nada de valor nesse nível de uso ao
cliente final.
Nesse
listagem tem algo que está me incomodando mas que eu vinha evitando alterar, o
fato de o estado da empresa aparecer colado ao lado do nome da empresa, eu
preferia que estivessem numa única coluna todos alinhados.
A
solução para isso é colocar o nome da empresa em uma coluna e o estado em
outra, assim :
<tr>
<td>
<!—primeira coluna -->
<a href='detalheEmpresa.asp?emp=<%= rs("EmpresaID") %>'>
<%= rs("empresa") %> </a>
</td>
<!—segunda coluna -->
<td>
<%= rs("estado") %>
</td>
</tr>
Eu
consigo o que eu queria, vejam :

Mas
com um efeito colateral indesejado, o cabeçalho da primeira linha aonde está a
figura na cobre as 2 colunas. Para contornar isso temos que usar a TAG
COLSPAN=2 na linha do cabeçalho e do rodapé e que agora estão em um
arquivo separado.
Vou
aproveitar para dar um incrementada no visual, retirando a borda da tabela e
especificando fontes e seus tamanhos e ainda linhas separadoras.
Nas
subrotinas
<%
'
Arquivo de subrotinas a ser incluído em rotinas do sistema
Sub exibeCabecalho
%>
<HTML>
<HEAD>
<TITLE>graficas</TITLE>
<META
HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
</HEAD>
<BODY BGCOLOR=#FFFFFF>
<table border=0 align="center">
<tr><td
colspan=2>
<img src="images/graficaonline_01.gif">
</td>
</tr>
<tr
height=30><td></td></tr>
<%
End Sub
Sub exibeRodape
%>
<tr>
<td colspan=2
height=50>
<font FACE="arial"
SIZE="1">
<a href='Javascript:history.go(-1)' class="style1">Retornar</a>
</font>
</td>
</tr>
</TABLE>
</FONT>
</BODY>
</HTML>
<%
End
Sub
%>
Em
ListaEmpresa3.asp a modificação foi apenas em listaDados
<%
Sub
listaDados()
'testa se foi ao final do arquivo sem encontrar nada e para
if ( rs.eof ) then
%>
<tr>
<td>
<font FACE="arial"
SIZE="1">
Não existem empresas
cadastradas nesse área! <p>
<font>
</td>
</tr>
<%
else ' existem registros logo vamos listá-los
'enquanto houver registros
do while not rs.eof
%>
<tr>
<td>
<font FACE="arial"
SIZE="1">
<!--
exibindo um valor do ambiente VBScripp/Asp dentro do HTML -->
<a href='detalheEmpresa.asp?emp=<%= rs("EmpresaID") %>'>
<%= rs("empresa") %> </a>
</font>
</td>
<td><font FACE="arial"
SIZE="1">
<%=
rs("estado") %>
</font>
</td>
</tr>
<tr>
<td bgcolor="#CCCCFF" height="1" colspan=2></td></tr>
<%
' procura o próximo
rs.movenext
loop
end if
End Sub
%>
O
efeito é esse, letras menores, mais espaço entre o cabeçalho e a listagem e da
listagem para o rodapé.

Arquivos de um exercício semelhante ja incorporando controle de acesso por conta e senha do usuário. Clique aqui para baixar.
Links úteis e interessantes
BabyASP Server http://www.pablosoftwaresolutions.com/html/baby_web_server.html
STARUML (http://staruml.sourceforge.net/en/)
ASP Wikipedia http://pt.wikipedia.org/wiki/ASP
Linha de Código http://www.linhadecodigo.com.br/Artigo.aspx?id=598
DevGuru VbScript http://www.devguru.com/technologies/vbscript/index.asp
DevGuru ASP
http://www.devguru.com/technologies/asp/index.asp
Nosso
Objetivo : Construir uma pequena aplicação ASP com acesso a uma base de
dados Access
Parte 1
Parte 2
Parte 3
Parte 4