Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
tenho uma pagina que lista o meu banco:
<%
var_status =("ATI")
vSql = "SELECT * FROM TAB_QUADRO_BRASFELS where status='"&VAR_STATUS&"' order by departamento,usuario asc"
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 3, 3
%>
e a parte mesclada HTML+ASP que monta minha pagina com os campos do banco:
<body>
<table width="100%" height="533" border="0" align="center">
<tr>
<td><table width="100%" border="0">
<tr>
<td width="800" height="122" align="center" valign="middle" class="Subtitulo"><img src="imagens/LOGOBR.jpg" width="288" height="126" /><br /></td>
</tr>
<tr>
<td height="44" align="center"><table width="100%" border="0">
<tr>
<th width="64" height="36" scope="col"><a href="menu.asp"><img src="imagens/home.gif" width="30" height="30" longdesc="menu.asp" /></a></th>
<th width="865" align="center" scope="col"><p><span class="Subtitulo">Quadro Brasfels</span></p></th><hr><p class="conteudo">
<th width="81" scope="col"><a href="quadro_brasfels.asp"><img src="imagens/seta-voltar.gif" width="30" height="30" longdesc="brasfels.html" /></a></th>
<table width="100%" border="1" cellpadding="" cellspacing=""><hr>
<tr>
<th width="5%" scope="col">CT</th>
<th width="5%" scope="col">Data NF</th>
<th width="5%" scope="col">Nº NF</th>
<th width="10%" scope="col">Descrição</th>
<th width="8%" scope="col">Processador</th>
<th width="4%" scope="col">Memoria</th>
<th width="3%" scope="col">HD</th>
<th width="8%" scope="col">Windows</th>
<th width="8%" scope="col">Office</th>
<th width="3%" scope="col">Valor</th>
<th width="8%" scope="col">Departamento</th>
<th width="8%" scope="col">Matricula</th>
<th width="14%" scope="col">Usuário</th>
<th width="5%" scope="col">Data Inicio</th>
<th width="2%" scope="col">Status</th>
<th width="4%" scope="col">Obs</th>
<th width="8%" align="center" scope="col">Exportar <a href="Quadro_bf_exportar.asp"><img src="imagens/export_excel.jpg" width="45" height="40" longdesc="quadro_brasfels.asp" /></a></th>
</tr>
<%
do while not myRst.EOF
var_codigo = myRst.fields("codigo")
var_ct = myRst.fields("ct")
var_DNF = myrst.fields("Data_NF")
var_NFISCAL = myrst.fields("Nfiscal")
var_descricao = myrst.fields("Descricao")
var_descricao_item = myrst.fields("Descricao_item")
var_Processador = myrst.fields("Processador")
var_Men = myrst.fields("Mem")
var_HD = myrst.fields("HD")
var_Windows = myrst.fields("Windows")
var_Office = myrst.fields("Office")
var_valor = myrst.fields("Valor")
var_Departamento = myrst.fields("Departamento")
var_matricula = myrst.fields("Matricula")
var_usuario = myrst.fields("Usuario")
Var_data = myrst.fields("Data")
var_status = myrst.fields("Status")
Var_obs= myrst.fields("obs")
%>
<tr>
<td height="1" align="center" valign="middle"><%=var_ct%></td>
<td align="center" valign="middle"><%=var_DNF%></td>
<td align="center" valign="middle"><%=var_NFISCAL%></td>
<td align="center" valign="middle"><%=var_descricao%>-<%=var_descricao_item%></td>
<td align="center" valign="middle"><%=var_Processador%></td>
<td align="center" valign="middle"><%=var_Men%></td>
<td align="center" valign="middle"><%=var_HD%></td>
<td align="center" valign="middle"><%=var_Windows%></td>
<td align="center" valign="middle"><%=var_Office%></td>
<td align="center" valign="middle"><%=var_valor%></td>
<td align="center" valign="middle"><%=var_departamento%></td>
<td align="center" valign="middle"><%=var_matricula%></td>
<td align="center" valign="middle"><%=var_usuario%></td>
<td align="center" valign="middle"><%=var_Data%></td>
<td align="center" valign="middle"><%=var_status%></td>
<td align="center" valign="middle"><%=var_obs%></td>
<td align="center" valign="middle"><table width="100%" border="0">
<tr>
</p><th scope="col"><a href="quadro_bf_form_alterar.asp?codigo=<%=var_codigo%>"><img src="imagens/user_male_edit.png" name="atualizar" width="30" height="30" id="atualizar" /></a></th>
<th scope="col"><a href="quadro_bf_excluir.asp?codigo=<%=var_codigo%>"><img src="imagens/delete.png" name="deletar" width="30" height="30" id="deletar" /></a></th>
</tr>
</table></td>
</tr>
<% myRst.MoveNext
loop
%>
Como faço para contar qnts linhas foram listadas? tipo teria que aparecer no topo da pagina "quantidade de linhas xx"
Ronaldo fiz assim:
<table width="100%" border="1" cellpadding="" cellspacing=""><hr>
<tr>
<th width="5%" scope="col">CT</th>
<th width="5%" scope="col">Data NF</th>
<th width="5%" scope="col">Nº NF</th>
<th width="10%" scope="col">Descrição</th>
<th width="8%" scope="col">Processador</th>
<th width="4%" scope="col">Memoria</th>
<th width="3%" scope="col">HD</th>
<th width="8%" scope="col">Windows</th>
<th width="8%" scope="col">Office</th>
<th width="3%" scope="col">Valor</th>
<th width="8%" scope="col">Departamento</th>
<th width="8%" scope="col">Matricula</th>
<th width="14%" scope="col">Usuário</th>
<th width="5%" scope="col">Data Inicio</th>
<th width="2%" scope="col">Status</th>
<th width="4%" scope="col">Obs</th>
***<th width="2%" scope="col">Iten</th>***
<th width="8%" align="center" scope="col">Exportar <a href="Quadro_bf_exportar.asp"><img src="imagens/export_excel.jpg" width="45" height="40" longdesc="quadro_brasfels.asp" /></a></th>
</tr>
<%
do while not myRst.EOF
var_contador=var_contador + 1
var_codigo = myRst.fields("codigo")
var_ct = myRst.fields("ct")
var_DNF = myrst.fields("Data_NF")
var_NFISCAL = myrst.fields("Nfiscal")
var_descricao = myrst.fields("Descricao")
var_descricao_item = myrst.fields("Descricao_item")
var_Processador = myrst.fields("Processador")
var_Men = myrst.fields("Mem")
var_HD = myrst.fields("HD")
var_Windows = myrst.fields("Windows")
var_Office = myrst.fields("Office")
var_valor = myrst.fields("Valor")
var_Departamento = myrst.fields("Departamento")
var_matricula = myrst.fields("Matricula")
var_usuario = myrst.fields("Usuario")
Var_data = myrst.fields("Data")
var_status = myrst.fields("Status")
Var_obs= myrst.fields("obs")
%>
<tr>
<td height="1" align="center" valign="middle"><%=var_ct%></td>
<td align="center" valign="middle"><%=var_DNF%></td>
<td align="center" valign="middle"><%=var_NFISCAL%></td>
<td align="center" valign="middle"><%=var_descricao%>-<%=var_descricao_item%></td>
<td align="center" valign="middle"><%=var_Processador%></td>
<td align="center" valign="middle"><%=var_Men%></td>
<td align="center" valign="middle"><%=var_HD%></td>
<td align="center" valign="middle"><%=var_Windows%></td>
<td align="center" valign="middle"><%=var_Office%></td>
<td align="center" valign="middle"><%=var_valor%></td>
<td align="center" valign="middle"><%=var_departamento%></td>
<td align="center" valign="middle"><%=var_matricula%></td>
<td align="center" valign="middle"><%=var_usuario%></td>
<td align="center" valign="middle"><%=var_Data%></td>
<td align="center" valign="middle"><%=var_status%></td>
<td align="center" valign="middle"><%=var_obs%></td>
***<td align="center" valign="middle"><%=var_contador%></td>***
<td align="center" valign="middle">
<table width="100%" border="0">
<tr>
</p><th scope="col"><a href="quadro_bf_form_alterar.asp?codigo=<%=var_codigo%>"><img src="imagens/user_male_edit.png" name="atualizar" width="30" height="30" id="atualizar" /></a></th>
<th scope="col"><a href="quadro_bf_excluir.asp?codigo=<%=var_codigo%>"><img src="imagens/delete.png" name="deletar" width="30" height="30" id="deletar" /></a></th>
</tr>
</table></td>
</tr>
<%Mostra o numero de cada linha até atende mas eu queria o total, como faço pra mostrar so o total?
var_contador=0
antes do
do while not myRst.EOF
e essa linha <td align="center" valign="middle"><%=var_contador%></td>
tem que ser no final de tudo.
antes de </table>
você abre uma nova linha com o numero de colunas que esta usando e joga a variavel contador
dependendo da situação melhor usar um contatdor normal ou a clausula count do SQL, pois se o seu bd for muito grande o recordcount do objeto recordset para apresentar queda de desempenho
e para usar o RecordCount , seu cursortype tem k ser recordset.CursorType = 3 (AdOpenDynamic)
exemplo:
<%
DIM mySQL, objRS
mySQL = "SELECT * FROM myTable"
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open mySQL, objConn
' Count how many records exist
DIM iRecordCount
iRecordCount = 0
DO WHILE NOT objRS.EOF
iRecordCount = iRecordCount + 1
objRS.MoveNext
Loop
' Display result
Response.Write "(" & iRecordCount & ")"
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
%>
SQL COUNT
>
dependendo da situação melhor usar um contatdor normal ou a clausula count do SQL, pois se o seu bd for muito grande o recordcount do objeto recordset para apresentar queda de desempenho
e para usar o RecordCount , seu cursortype tem k ser recordset.CursorType = 3 (AdOpenDynamic)
exemplo:
<%
DIM mySQL, objRS
mySQL = "SELECT * FROM myTable"
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open mySQL, objConn
' Count how many records exist
DIM iRecordCount
iRecordCount = 0
DO WHILE NOT objRS.EOF
iRecordCount = iRecordCount + 1
objRS.MoveNext
Loop
' Display result
Response.Write "(" & iRecordCount & ")"
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
%>SQL COUNT
<!--#INCLUDE VIRTUAL="/includes/connection.asp" -->
<%
DIM mySQL, objRS
mySQL = "SELECT Count(*) AS intTotal FROM myTable"
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open recSQL, objConn
' Display result
Response.Write objRS("intTotal")
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
%>
Xanbur no caso queria mostrar o total que foi exibido no select. nao necessariamente o banco inteiro.
é só seguir o que falei. ja esta pronto, apenas esta colocando em lugar errado
é só seguir o que falei. ja esta pronto, apenas esta colocando em lugar errado
Ronaldo fiz igual vc disse nao apareceu.
como que não ? posta o código como esta
eu deixei o contador unitário na pagina chamado item e deixei a contagem de um a um mas a ideia continua deixar o numero total fora do Loop pra mostrar o total de itens listados no top da pagina.
<%
var_contador=0
do while not myRst.EOF
var_contador=var_contador + 1
var_codigo = myRst.fields("codigo")
var_ct = myRst.fields("ct")
var_DNF = myrst.fields("Data_NF")
var_NFISCAL = myrst.fields("Nfiscal")
var_descricao = myrst.fields("Descricao")
var_descricao_item = myrst.fields("Descricao_item")
var_Processador = myrst.fields("Processador")
var_Men = myrst.fields("Mem")
var_HD = myrst.fields("HD")
var_Windows = myrst.fields("Windows")
var_Office = myrst.fields("Office")
var_valor = myrst.fields("Valor")
var_Departamento = myrst.fields("Departamento")
var_matricula = myrst.fields("Matricula")
var_usuario = myrst.fields("Usuario")
Var_data = myrst.fields("Data")
var_status = myrst.fields("Status")
Var_obs= myrst.fields("obs")
%>
<tr>
<td align="center" valign="middle"><%=var_contador%></td>
<td height="1" align="center" valign="middle"><%=var_ct%></td>
<td align="center" valign="middle"><%=var_DNF%></td>
<td align="center" valign="middle"><%=var_NFISCAL%></td>
<td align="center" valign="middle"><%=var_descricao%>-<%=var_descricao_item%></td>
<td align="center" valign="middle"><%=var_Processador%></td>
<td align="center" valign="middle"><%=var_Men%></td>
<td align="center" valign="middle"><%=var_HD%></td>
<td align="center" valign="middle"><%=var_Windows%></td>
<td align="center" valign="middle"><%=var_Office%></td>
<td align="center" valign="middle"><%=var_valor%></td>
<td align="center" valign="middle"><%=var_departamento%></td>
<td align="center" valign="middle"><%=var_matricula%></td>
<td align="center" valign="middle"><%=var_usuario%></td>
<td align="center" valign="middle"><%=var_Data%></td>
<td align="center" valign="middle"><%=var_status%></td>
<td align="center" valign="middle"><%=var_obs%></td>
<td align="center" valign="middle">
<table width="100%" border="0">
<tr>
</p><th scope="col"><a href="quadro_bf_form_alterar.asp?codigo=<%=var_codigo%>"><img src="imagens/user_male_edit.png" name="atualizar" width="30" height="30" id="atualizar" /></a></th>
<th scope="col"><a href="quadro_bf_excluir.asp?codigo=<%=var_codigo%>"><img src="imagens/delete.png" name="deletar" width="30" height="30" id="deletar" /></a></th>
</tr>
</table></td>
</tr>
<%<tr>
<td align="center" valign="middle"><%=var_contador%></td>
</tr>
</table>primeiro tem um erro:
vc esta criando uma tr abaixo do loop, mas esta fechando a table acima do loop e depois fecha outra table que não existe. ....
arrume isso que ele tem que mostrar. outra dica, coloque o var_contador = var_contador + 1 acima do MyRst.MoveNext, fica mais facil para visualizar onde esta somando o numero
queria mostrar o total que foi exibido no select. nao necessariamente o banco inteiro.
esclarecendo: a dica do post #5 usa 1 sql "generica" apenas como 1 exemplo;
se uma consulta usa "where" é claro que não vai ser exibido "o banco inteiro" (alias é p/ isso que existe o "where")...
se tem duvidas sobre where:
mais dicas sobre sql:
http://www.linhadecodigo.com.br/artigo/75/principais-instrucoes-em-sql.aspx
>
primeiro tem um erro:
você esta criando uma tr abaixo do loop, mas esta fechando a table acima do loop e depois fecha outra table que não existe. ....
arrume isso que ele tem que mostrar. outra dica, coloque o var_contador = var_contador + 1 acima do MyRst.MoveNext, fica mais facil para visualizar onde esta somando o numero
ronaldo nao apareceu antes pq estava colocando pra exibir antes mas agora arrumei, ficou do jeito que queria mt obrigado cara me ajudou muito.
Fiz assim:
<%
var_contador=0
do while not myRst.EOF
var_contador=var_contador + 1
var_codigo = myRst.fields("codigo")
var_CPU = myRst.fields("CPU")
var_DESCRICAO = myrst.fields("DESCRICAO")
var_ACAO = myrst.fields("ACAO")
var_USUARIO = myrst.fields("USUARIO")
var_MATRICULA = myrst.fields("MATRICULA")
var_DEPARTAMENTO = myrst.fields("DEPARTAMENTO")
var_DATA = myrst.fields("DATA")
var_obs = myrst.fields("OBS")
%>
<tr>
<td align="center" valign="middle"><%=var_CPU%></td>
<td align="center" valign="middle"><%=var_DESCRICAO%></td>
<td align="center" valign="middle"><%=var_ACAO%></td>
<td align="center" valign="middle"><%=var_USUARIO%></td>
<td align="center" valign="middle"><%=var_MATRICULA%></td>
<td align="center" valign="middle"><%=var_DEPARTAMENTO%></td>
<td align="center" valign="middle"><%=var_DATA%></td>
<td align="center" valign="middle"><%=var_OBS%></td>
<td align="center" valign="middle">
<table width="100%" border="1">
<tr>
</p><th scope="col"><a href="Atualizar_bf_form_alterar.asp?codigo=<%=var_codigo%>"><img src="imagens/user_male_edit.png" name="atualizar" width="32" height="32" id="atualizar" /></a></th>
<th scope="col"><a href="Atualizar_bf_excluir.asp?codigo=<%=var_codigo%>"><img src="imagens/delete.png" name="deletar" width="35" height="35" id="deletar" /></a></th>
</tr>
</table></td>
</tr>
<% myRst.MoveNext<tr>
<th width="100%" valign="middle" colspan="17" scope="col">Total de Itens Listados: <%=var_contador%></th>
</tr>você pode até usar jquery para preencher o valor acima (antes de tudo)
na pratica seria
a-) faz o codigo e gera o num total
b-) depois faz um script jquery para atualizar uma div com o valor total. isso é fácil
>
você pode até usar jquery para preencher o valor acima (antes de tudo)
na pratica seria
a-) faz o codigo e gera o num total
b-) depois faz um script jquery para atualizar uma div com o valor total. isso é fácil
Ronaldo nunca fiz uma jquery :(
em jquery para contar, faz assim:
<script src="jquery.js"></script>
<script>
$(document).[ready](http://docs.jquery.com/Events/ready)(function() {
alert( $("#tabela tr").[length](http://docs.jquery.com/Core/length) );
});
</script>
antes do
do while not myRst.EOF
coloque
NumReg = 0
antes da linha
myRst.MoveNext
coloque
NumReg = NumReg + 1
e depois mostre a variavel NumReg.
Mas se quiser isso no topo, tem que fazer outro select antes e deixar apenas para contar.
Existe um comando que pega o total de registros, mas eu (particularmente) não gosto de usar, faço tudo na unha