Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

baladaclick

como contar registros ?

Recommended Posts

Pois é camarada não atentei que você esta usando a m.. do access. http://forum.imasters.com.br/public/style_emoticons/default/upset.gif

 

O exemplo que dei é para SQL Server dai parace mais complicado.

 

 

Bom tente isto:

SELECT tabela3.sit, Count(tabela3.sit) AS ContarDesitFROM tabela3GROUP BY tabela3.sitORDER BY Count(tabela3.sit);
Q vai retornar as situações (aprovadas...) e a qtde de cada.

Depois é só fazer um loop e pegar os valores.

 

Agora na base do "RTA" pode ser assim:

SQL = "SELECT count(aprovacao)as total from clientes WHERE aprovacao = 'aprovada'"RS.Open SQL, conn, 3iAprovada = RS("total")rs.closeSQL = "SELECT count(aprovacao)as total from clientes WHERE aprovacao = 'reprovada'"RS.Open SQL, conn, 3iReprovada = RS("total")
Dai você pode utilizar as variáveis iAprovada e iReprovada para efetuar as contas.

 

t+

 

 

ENTAO JOTHAZ, A RESPOSTA É P TODOS. RSSSS. DO JEITO Q você ME PASSOU COMPLICOU MAIS HEHE AINDA NAO TENHO MTO CONHECIMENTO. OLHA COMO ESTA MEU CODIGO

 

<%Set Conn= server.createobject("adodb.connection")DSNtest = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("banco/netdbf.mdb")Conn.Open DSNtestSet RS= Server.CreateObject("ADODB.Recordset") 'acrescentei por causa da paginaçãoSQL = "SELECT count(aprovacao)as total from clientes WHERE aprovacao = 'aprovada'"RS.Open SQL, conn, 3id_perfil = session("id_perfil")%>
QUERIA USAR ESTE CODIGO PQ ESSE EU TO ENTENDENDO. KKKKK

ENTAO, EU QUERO COLOCAR NESTA STRING SQL AS PENDENTES, CANCELADAS E TALZ. MAS NAO SEI COMO FAZER

 

ABRAÇO AMIGO

 

TENTEI DESSA FORMA E NAO DEU CERTO

SQL = "SELECT count(aprovacao)as total from clientes WHERE aprovacao = 'aprovada'" AND"SELECT count(aprovacao)as PENDENTE from clientes WHERE aprovacao = 'pendente'"		RS.Open SQL, conn, 3

Compartilhar este post


Link para o post
Compartilhar em outros sites

retorna esse erro jothaz

 

ADODB.Recordset erro '800a0e79'

 

Operação não permitida quando o objeto está aberto.

 

/sam/relatorio1.asp, line 17

 

<%Set Conn= server.createobject("adodb.connection")DSNtest = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("banco/netdbf.mdb")Conn.Open DSNtestSet RS= Server.CreateObject("ADODB.Recordset") 'acrescentei por causa da paginaçãoSQL = "SELECT count(aprovacao)as total from clientes WHERE aprovacao = 'aprovada'"RS.Open SQL, conn, 3vAprovadas = RS("total")SQL = "SELECT count(aprovacao)as total from clientes WHERE aprovacao = 'reprovada'"RS.Open SQL, conn, 3vReprovadas = RS("total") %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso é erro asp e não sql...você está setando para abrir um objeto recordset que já está aberto

tente assim

<%Set Conn= server.createobject("adodb.connection")DSNtest = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("banco/netdbf.mdb")Conn.Open DSNtestSet RS= Server.CreateObject("ADODB.Recordset") 'acrescentei por causa da paginaçãoSet RS2= Server.CreateObject("ADODB.Recordset") 'acrescentei por causa da paginaçãoSQL = "SELECT count(aprovacao)as total from clientes WHERE aprovacao = 'aprovada'"RS.Open SQL, conn, 3vAprovadas = RS("total")SQL = "SELECT count(aprovacao)as total from clientes WHERE aprovacao = 'reprovada'"RS2.Open SQL, conn, 3vReprovadas = RS2("total") %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

creio que seja impossivel fazer dois count no mesmo select pois pensando logicamente seria assimselecione e conte o campo X, selecione e conte o campo Y quando campo XZ=true e YZ=falseentende!!???ele iria se perder pois as condições anulariam os resultados. Ao meu ver a maneira correta são duas querys(como editei no post anterior) e dois recordsets. Se tiver como fazer da maneira que deseja espero que alguem possa te auxiliar e colocar a solução ai pra galeraQualquer galho post ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

andrea, fiz do jeito que voce falou. joguei um while só que ele me retorna os valores todos juntos. como faço p separar

 

select count(status) as total, status from TABELA group by status

<%=rs("total")%>

antes sem while ele soh me jogava o valor 2, agora me retona o valor 32886810715117. acredito que é a conta de todos os campos de aprovadas, reprovadas, pendentes e etc. como separo isso?

 

abraço querida

Compartilhar este post


Link para o post
Compartilhar em outros sites

Camarada,Tenta assim:

iAprovadas = 0iReprovadas = 0while not rs.eof()	 if ucase("rs("status")) = ucase("aprovadas") then	 		  iAprovadas = iAprovadas + rs("total")	 else		  iReprovadas = iReprovadas + rs("total")	end if	rs.movenext wendresponse.write iAprovadas & "<br>"response.write iReprovadas & "<br>"
Não tive como testar. QQ coisa estamos ai!t+

andrea, fiz do jeito que voce falou. joguei um while só que ele me retorna os valores todos juntos. como faço p separar

select count(status) as total, status from TABELA group by status
<%=rs("total")%>
antes sem while ele soh me jogava o valor 2, agora me retona o valor 32886810715117. acredito que é a conta de todos os campos de aprovadas, reprovadas, pendentes e etc. como separo isso?abraço querida

Compartilhar este post


Link para o post
Compartilhar em outros sites

a ideia do amigo jothaz é valida, mas tem dois poréns:você perderá em desempenho pois vai ter que fazer uma verificação a cada volta do while e mover o cursore ainda, dependendo como quer exibir terá que fazer mais um select pois esse ai só vai contar os totais, você teria que exibir os registros correspondentes de cada tipo(aprovado ou não)

Compartilhar este post


Link para o post
Compartilhar em outros sites

GALERA ACHEI UMA SOLUÇÃO. FIZ UMA GAMBIARRA DAQUELAS QUE TEM Q REGISTRAR.

 

FIZ INCLUDE DE CADA COUNT NA PAGINA Q VAI EXIBIR OS DADOS

 

<%Set Conn= server.createobject("adodb.connection")DSNtest = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("banco/netdbf.mdb")Conn.Open DSNtestSet RS= Server.CreateObject("ADODB.Recordset") 'acrescentei por causa da paginaçãoSQL = "select count(aprovacao) as em_analise from clientes where aprovacao = 'em_analise' "RS.Open SQL, conn, 3%><table width="107" border="0" cellspacing="0" cellpadding="0">  <tr>	<td width="107"><%=rs("em_analise")%> </td>  </tr></table>

FIZ DE CADA UM, APROVADAS, REPROVADAS, CANCELADAS E TALZ. E JOGUEI COMO INCLUDE TD EM UMA PAGINA SÓ E DEU CERTO. COMEÇOU A CONTAR TD DIREITINHO

 

NÃO ME XINGUEM

HEHEHE

 

ABRAÇO

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual a diferença de fazer no include ou diretamente na página se o resultado é o mesmo e você terá mais de um select???Bom...ao menos resolveu como queria

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.