Jump to content


Photo

Contar Registros...


  • Faça o login para participar
13 replies to this topic

#1 mkboy

mkboy

    12 Horas

  • Usuários
  • 133 posts
  • Sexo:Não informado

Posted 18/02/2004, 07:50

Tenho um banco access, e gostaria de contar todos os registros de uma tabela e imprimir na tela:

Total de registros: 100*

Como faço?

#2 Rodrigo

Rodrigo

    oi!

  • Usuários
  • 995 posts
  • Sexo:Não informado
  • Interesses:Diretório de sites - http://www.acheinobrasil.com.br

Posted 18/02/2004, 08:54

select * from tabela

total=rs.recordcount

response.write "Total de Registros: " & total

#3 cybermix

cybermix

    andrewsmedina.com.br

  • Ex-Admins
  • 3586 posts
  • Sexo:Não informado
  • Localidade:Não sou desse planeta não!!!!
  • Interesses:python, fireworks, linux, php, flash...

Posted 18/02/2004, 10:20

uma outra maneira seria

sql = "select count(*) as conta from TABELA"
set rs = conexao.execute(sql)

response.write rs("conta")

é importante saber as duas, porque a que o rodrigo citou so serve para sql server e access no mysql, oracle, postgree etc nao é 100% confiavel o recordcount
www.andrewsmedina.com.br

#4 anakin007

anakin007

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Não informado

Posted 18/02/2004, 11:46

pra complementar...

sql = "SELECT COUNT(*) as total from TABELA"
set rs = conexao.execute(sql)
totalregistros = rs("total")

ai no html, vc usa...
<%=totalregistros%>

Edição feita por: anakin007, 18/02/2004, 11:47.


#5 mkboy

mkboy

    12 Horas

  • Usuários
  • 133 posts
  • Sexo:Não informado

Posted 18/02/2004, 13:42

Tentei mas deu errado, veja como fiz:

<%
dim objRS
dim strrs
cor_titulo = "#cccccc"

%>

<%
query = Request.querystring("query")
If query = "" then
response.redirect "busca.asp"
End if
%>

<%
Set conn = Server.CreateObject ("ADODB.Connection")
strconn = "Driver={Microsoft Access Driver (*.mdb)};DBQ="& Server.MapPath("fish.mdb")
conn.open strconn
Set objRS = Server.CreateObject("ADODB.Recordset")
%>

<%
strrs = "Select * from bo where nome like'%" & query & "%' order by email"
objRS.open strrs, conn

If objRS.EOF Then
response.write "&nbsp;"
End if
%>

<%
If erro <> "" Then
Response.Write mensagem
End if
Do While not objRS.Eof
%>

<%
strrs = "SELECT COUNT(*) as total from bo"
objRS.open strrs, conn
set objRS = conexao.execute(strrs)
totalregistros = objRS("total")
if totalregistros = "" then
response.write "Nenhum registro"
end if
%>





<HTML>
<head><title>Resultado da pesquisa</title>

</head>
<body>

TOTAL: <%=totalregistros%>


</body>
</html>


o erro:

ADODB.Recordset error '800a0e79'

Operação solicitada pelo aplicativo não permitida se o objeto estiver aberto.

/pesca/boletim/processa_01.asp, line 48



:unsure:

#6 Rodrigo

Rodrigo

    oi!

  • Usuários
  • 995 posts
  • Sexo:Não informado
  • Interesses:Diretório de sites - http://www.acheinobrasil.com.br

Posted 18/02/2004, 14:28

mas vc quer o total do banco ou o total da busca ?

#7 mkboy

mkboy

    12 Horas

  • Usuários
  • 133 posts
  • Sexo:Não informado

Posted 18/02/2004, 14:52

:rolleyes: Os 02

Queria deixar fixo: TOTAL de ARQUIVOS: xx
E na resposta da pesquisa: xx arquivos encontrados


(y)

#8 Rodrigo

Rodrigo

    oi!

  • Usuários
  • 995 posts
  • Sexo:Não informado
  • Interesses:Diretório de sites - http://www.acheinobrasil.com.br

Posted 18/02/2004, 15:14

<%

dim objRS

dim strrs

cor_titulo = "#cccccc"



query = Request.querystring("query")

If query = "" then

response.redirect "busca.asp"

End if



Set conn = Server.CreateObject ("ADODB.Connection")

strconn = "Driver={Microsoft Access Driver (*.mdb)};DBQ="& Server.MapPath("fish.mdb")

conn.open strconn

Set objRS = Server.CreateObject("ADODB.Recordset")



strrs = "Select * from bo where nome like'%" & query & "%' order by email"

objRS.open strrs, conn



If objRS.EOF Then

response.write "&nbsp;"

End if



If erro <> "" Then

Response.Write mensagem

End if



objRS.close



strrs = "SELECT COUNT(*) as total from bo"

objRS.open strrs, conn

set objRS = conexao.execute(strrs)

totalregistros = objRS("total")



if totalregistros = 0 then

response.write "Nenhum registro"

end if

%>





<HTML>

<head><title>Resultado da pesquisa</title>



</head>

<body>



TOTAL: <%=totalregistros%>





</body>

</html>


#9 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 18/02/2004, 21:56

Tentei mas deu errado, veja como fiz:

<%
dim objRS
dim strrs
cor_titulo = "#cccccc"

%>

<%
query = Request.querystring("query")
If query = "" then
response.redirect "busca.asp"
End if
%>

<%
Set conn = Server.CreateObject ("ADODB.Connection")
strconn = "Driver={Microsoft Access Driver (*.mdb)};DBQ="& Server.MapPath("fish.mdb")
conn.open strconn
Set objRS = Server.CreateObject("ADODB.Recordset")
%>

<%
strrs = "Select * from bo where nome like'%" & query & "%' order by email"
objRS.open strrs, conn

If objRS.EOF Then
response.write "&nbsp;"
End if
%>

<%
If erro <> "" Then
Response.Write mensagem
End if
Do While not objRS.Eof
%>

<%
strrs = "SELECT COUNT(*) as total from bo"
objRS.open strrs, conn
set objRS = conexao.execute(strrs)
totalregistros = objRS("total")
if totalregistros = "" then
response.write "Nenhum registro"
end if
%>





<HTML>
<head><title>Resultado da pesquisa</title>

</head>
<body>

TOTAL: <%=totalregistros%>


</body>
</html>


o erro:

ADODB.Recordset error '800a0e79'

Operação solicitada pelo aplicativo não permitida se o objeto estiver aberto.

/pesca/boletim/processa_01.asp, line 48



:unsure:

Olá. O problema e que você abriu a RS, fez um while, e dentro desse while, tentou abrir, novamente, a RS que já estava aberta. Se olhar no código do Rodrigo, vai perceber que lá tem o objRs.Close. Aí não deve dar erro.

#10 mkboy

mkboy

    12 Horas

  • Usuários
  • 133 posts
  • Sexo:Não informado

Posted 18/02/2004, 22:16

A resposta de vcs estão bem explicadas, mas estou me enrrolando ainda. :(

Veja meu código inteiro:

<%
dim objRS
dim strrs
cor_titulo = "#cccccc"

query = Request.querystring("query")

If query = "" then
response.redirect "busca.asp"

End if

Set conn = Server.CreateObject ("ADODB.Connection")
strconn = "Driver={Microsoft Access Driver (*.mdb)};DBQ="& Server.MapPath("fish.mdb")
conn.open strconn
Set objRS = Server.CreateObject("ADODB.Recordset")

strrs = "Select * from bo where nome like'%" & query & "%' order by email"
objRS.open strrs, conn

If objRS.EOF Then
response.write "&nbsp;"
End if

If erro <> "" Then
Response.Write mensagem
End if

objRS.close

strrs = "SELECT COUNT(*) as total from bo"
objRS.open strrs, conn
set objRS = conexao.execute(strrs)
totalregistros = objRS("total")

if totalregistros = 0 then
response.write "Nenhum registro"
end if
%>


<%
Do While not objRS.Eof
%>

<HTML>
<head><title>Resultado da pesquisa</title>
<link rel=stylesheet type="text/css" href="estilos.css">
</head>
<body>
<center>

<table  border="0" width="90%" cellspacing="0"  cellpaging="0">
<tr><td><font class="padrao"><b>Resultado da pesquisa: </b></font>

</td></tr>
</table>
<br>

<table bgcolor="#000033" border="0" width="90%" cellspacing="0"  cellpaging="0">
<tr><td>
<table bgcolor="#ffffff" border="0" width="100%" cellspacing="0"  cellpaging="0">

<tr><td>
<!--Faz um loop no banco e imprime os resultados-->
<%

If objRS.BOF or objRS.EOF Then

  response.write "Nenhum registro localizado."

Else

  cor="ffffff"
  response.write "<table border=0 cellpaging="&"0"&" cellspaging="&"0"&" width="&"100%"&">"

  response.write "<tr bgcolor="&cor_titulo&"><td><font class="&"padrao"&"><b>Nome:</b></font></td><td><font class="&"padrao"&"><b>E-mail:</b></font></td><td><font class="&"padrao"&"><b>Data:</b></font></td><td><font class="&"padrao"&"><b>Hora:</b></font></td><td><font class="&"padrao"&"><b>IP:</b></font></td><td><font class="&"padrao"&"><b>Editar:</b></font></td><td><font class="&"padrao"&"><b>Deletar:</b></font></td></tr>"

  Do While Not objRS.EOF
    if cor="ffffff" then
    cor="efefef"
else
  cor="ffffff"
  end if
  response.write  "<tr bgcolor="&cor&"><td><font class=""padrao"">"&objRS("nome")&"</font></td><td><a href=""mailto:" & objRs("email") & """>"& objRs("email") &"</a></td><td><font class=""padrao"">"&objRS("data")&"</font></td><td><font class=""padrao"">"&objRS("hora")&"</font></td><td><font class=""padrao"">"&objRS("ip")&"</font></td><td><a href='alterar.asp?id="&objRs("id")&"'>Editar</a></td><td><a href='deleta.asp?id="&objRs("id")&"'>Excluir</a></td></tr>"
    objRS.MoveNext
  Loop
  response.write "</table>"


End If
%>
<!--Fim do loop-->
 
<%
loop
objRS.close
conn.close
%>
</td></tr>
</table>

</td></tr>
</table>

</center>
</body>
</html>


O erro:

Tipo de erro:
Erro de tempo de execução do Microsoft VBScript (0x800A01A8)
Objeto necessário: 'conexao'
/pesca/boletim/processa_01.asp, line 33


Podem me ajudar de novo!!! :huh:

#11 Rodrigo

Rodrigo

    oi!

  • Usuários
  • 995 posts
  • Sexo:Não informado
  • Interesses:Diretório de sites - http://www.acheinobrasil.com.br

Posted 19/02/2004, 00:05

objRS.close



strrs = "SELECT COUNT(*) as total from bo"

objRS.open strrs, conn

set objRS = conn.execute(strrs)

totalregistros = objRS("total")



if totalregistros = 0 then

response.write "Nenhum registro"

end if

%>



#12 mkboy

mkboy

    12 Horas

  • Usuários
  • 133 posts
  • Sexo:Não informado

Posted 19/02/2004, 00:18

Deu um erro estranho agora...

<%
dim objRS
dim strrs
cor_titulo = "#cccccc"

query = Request.querystring("query")

If query = "" then
response.redirect "busca.asp"

End if

Set conn = Server.CreateObject ("ADODB.Connection")
strconn = "Driver={Microsoft Access Driver (*.mdb)};DBQ="& Server.MapPath("fish.mdb")
conn.open strconn
Set objRS = Server.CreateObject("ADODB.Recordset")

strrs = "Select * from bo where nome like'%" & query & "%' order by email"
objRS.open strrs, conn

If objRS.EOF Then
response.write "&nbsp;"
End if

If erro <> "" Then
Response.Write mensagem
End if

objRS.close

strrs = "SELECT COUNT(*) as total from bo"
objRS.open strrs, conn
set objRS = conn.execute(strrs)
totalregistros = objRS("total")

if totalregistros = 0 then
response.write "Nenhum registro"
end if
%>


<%
Do While not objRS.Eof
%>

<HTML>
<head><title>Resultado da pesquisa</title>
<link rel=stylesheet type="text/css" href="estilos.css">
</head>
<body>
<center>

<table  border="0" width="90%" cellspacing="0"  cellpaging="0">
<tr><td><font class="padrao"><b>Resultado da pesquisa:</b><%=totalregistros%>
</font>

</td></tr>
</table>
<br>

<table bgcolor="#000033" border="0" width="90%" cellspacing="0"  cellpaging="0">
<tr><td>
<table bgcolor="#ffffff" border="0" width="100%" cellspacing="0"  cellpaging="0">

<tr><td>
<!--Faz um loop no banco e imprime os resultados-->
<%

If objRS.BOF or objRS.EOF Then

  response.write "Nenhum registro localizado."

Else

  cor="ffffff"
  response.write "<table border=0 cellpaging="&"0"&" cellspaging="&"0"&" width="&"100%"&">"

  response.write "<tr bgcolor="&cor_titulo&"><td><font class="&"padrao"&"><b>Nome:</b></font></td><td><font class="&"padrao"&"><b>E-mail:</b></font></td><td><font class="&"padrao"&"><b>Data:</b></font></td><td><font class="&"padrao"&"><b>Hora:</b></font></td><td><font class="&"padrao"&"><b>IP:</b></font></td><td><font class="&"padrao"&"><b>Editar:</b></font></td><td><font class="&"padrao"&"><b>Deletar:</b></font></td></tr>"

  Do While Not objRS.EOF
    if cor="ffffff" then
    cor="efefef"
else
  cor="ffffff"
  end if
  response.write  "<tr bgcolor="&cor&"><td><font class=""padrao"">"&objRS("nome")&"</font></td><td><a href=""mailto:" & objRs("email") & """>"& objRs("email") &"</a></td><td><font class=""padrao"">"&objRS("data")&"</font></td><td><font class=""padrao"">"&objRS("hora")&"</font></td><td><font class=""padrao"">"&objRS("ip")&"</font></td><td><a href='alterar.asp?id="&objRs("id")&"'>Editar</a></td><td><a href='deleta.asp?id="&objRs("id")&"'>Excluir</a></td></tr>"
    objRS.MoveNext
  Loop
  response.write "</table>"


End If
%>
<!--Fim do loop-->
 
<%
loop
objRS.close
conn.close
%>
</td></tr>
</table>

</td></tr>
</table>

</center>
</body>
</html>


O erro:

Tipo de erro:
ADODB.Recordset (0x800A0CC1)
Item cannot be found in the collection corresponding to the requested name or ordinal.
/pesca/boletim/processa_01.asp, line 85


:blink:

#13 Mauricio adriano

Mauricio adriano

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Masculino
  • Localidade:Guarapuava - PR

Posted 16/10/2009, 18:20

Uma maneira de poder utilizar o recordcount com outros tipos de bancos (aqueles em que o resultado está retornando -1) é acrescentar as seguintes informações após o set:
rs.CursorType = 0
rs.CursorLocation = 3
rs.LockType = 3

[]´s

#14 Dionatan

Dionatan

    Novato no fórum

  • Usuários
  • 9 posts
  • Sexo:Não informado

Posted 18/10/2009, 14:56

Tenho um banco access, e gostaria de contar todos os registros de uma tabela e imprimir na tela:

Total de registros: 100*

Como faço?

Amigo vou explicar como contar os registros da tabela, mas a parte de imprimir eu vou te indicar um link javascript que imprime a página inteira.

<%       'conexao com o banco de dados	Set Conexao = Server.CreateObject("ADODB.Connection")	Conexao.ConnectionString="DRIVER={Microsoft Access Driver (*.mdb)};DBQ="& Server.MapPath("bd.mdb")	Conn.Open%><%Set ContarBD = Conexao.execute("SELECT COUNT(id) as Total FROM Tabela")%>

************para exibir os registros você usa assim************

O tatal de registros na tabela tal é de <%=ContarBD("Total")%>.

e para você imprimir usa um link javascript

<a href="java script:window.print()">clique aqui para imprimir</a>


espero ter ajudado!!
vlww!!!! duvidas fala comigo

dionatan_camargo@yahoo.com.br
:ph34r: BY Dionatan Camargo

Edição feita por: Renan L. Queiroz, 30/10/2009, 15:54.
Inclusão das tags [ codebox ] destindas aos scripts





0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq