Foros del Web » Programando para Internet » ASP Clásico »

Como obtener el numero de registros!!!

Estas en el tema de Como obtener el numero de registros!!! en el foro de ASP Clásico en Foros del Web. Que tal a todos.. !!1 Tengo una conexion a una BD.. el cual me trae los campos con sus respectivos registros que necesito.. ok. pero ...
  #1 (permalink)  
Antiguo 25/10/2004, 09:14
 
Fecha de Ingreso: febrero-2004
Ubicación: D.F.
Mensajes: 201
Antigüedad: 20 años, 3 meses
Puntos: 0
Como obtener el numero de registros!!!

Que tal a todos.. !!1

Tengo una conexion a una BD.. el cual me trae los campos con sus respectivos registros que necesito.. ok. pero ahora necesito saber.. de un campo el numero de registros que sean iguales,

x/e tengo un campo cioudad, necesito saber cuantos elementos hay por paca ciudad que se repita y asi sucesivamente para que al final obtenga el numero de elementos por ciudad... pero lo requiero hacer para 2 o 3 campos de la tabla.. una llamado Ciudad, sexo, edad..

campo ciudad:
mexico = 10 reg. encontrados
Argentina = 20 reg. enc.

Campo Sexo
Masculino = 10
Femenino= 30

Campo edad=
50 años = 10 elementos
25 años= 25 elem.

algo asi necesito, para que despues cada valor. lo pueda guardas en una variable independientemente... para poder pasar esos parametros a otra pagina..

hice una prueba donde hago la conexion ala bd, y me trae los valores resultantes, pero es para un solo campo...

es algo asi..
slq = "Select mitabla.ciudad,count(*), as temporal from mitabla group by mitabla.ciudad"

donde me da como resultado lo que necesito en el campo temporal, pero este query es para un solo campo.. como puedo hacerlo para los demas... y como puedo meter en variables los resultados de cada uno de ellos..

un poco extensa mi pregunta verdad

graciasss se los agradecere mucho
  #2 (permalink)  
Antiguo 25/10/2004, 09:34
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
¿No te serviría hacer por separado los selects que necesitas e ir guardando cada resulta en variables?

rs.Open "Select Ciudad,count(*) As NumCiudades from mitabla group by ciudad",3,3
recorres rs y guardas en un vector, por ejemplor
rs.Open "Select Edad,count(*) As NumEdades from mitabla group by Edad",3,3
recorres rs y guardas en otro vector

pasas los vectores como parámetros
  #3 (permalink)  
Antiguo 25/10/2004, 10:10
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 21 años, 9 meses
Puntos: 16
tambien puedes hacerlo mediante sql


select count(*) as cantidad_encontrada from tabla where campo = 'parametro buscado'
  #4 (permalink)  
Antiguo 25/10/2004, 10:28
 
Fecha de Ingreso: febrero-2004
Ubicación: D.F.
Mensajes: 201
Antigüedad: 20 años, 3 meses
Puntos: 0
Ok miakir-....

podrias mandarme un ejemplo mas explicado porfas....

esta buena la idea... no se como pasar los vectores...por url..
  #5 (permalink)  
Antiguo 25/10/2004, 10:51
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Enviar arreglos como parámetros es fácil si lo haces mediante variables de session, ya que estas aceptan hasta objetos.

ejemplo:
...
rs.Open "Select Ciudad,count(*) As NumCiudades from mitabla group by ciudad",3,3
Dim vecCiudades(rs.RecordCount)
cnt=0
while not rs.eof
vecCiudades(cnt) = rs("NumCiudades")
rs.movenext
wend
session(vNumCiudad) = vecCiudades

y puedes obtener sus datos como cualquier vector, por ejemplo: response.write session(vNumCiudad)(0)
.....etc

Disculpa si soy algo redundante, pero recien regreso al foro después de casi dos meses y estoy algo oxidado, jejeje
  #6 (permalink)  
Antiguo 25/10/2004, 10:57
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Cita:
Disculpa si soy algo redundante, pero recien regreso al foro después de casi dos meses y estoy algo oxidado, jejeje
Si, bueno, se te extrañaba un poco por estos lugares. Pero no fueron 2 meses ni a palos!

Bienvenido nuevamente, pues
__________________
...___...
  #7 (permalink)  
Antiguo 25/10/2004, 11:02
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
¿no?, vaya, no me había dado cuenta cuanto extrañana este foro, jejeje, se me hicieron dos meses, el mes y dias que estuve haciendo un out-sourcing.
Son unas por otras, hay que salir a buscar el sustento pese a alejarse temporalmente de los amigos.
Ok. listo, ¿qué dicen esos número de registro?, jeje, ¡¡vamos a darles!!.
  #8 (permalink)  
Antiguo 25/10/2004, 11:36
 
Fecha de Ingreso: febrero-2004
Ubicación: D.F.
Mensajes: 201
Antigüedad: 20 años, 3 meses
Puntos: 0
que onda MIAKIRE aun no sale.. el problema

el query con los valors 3,3 me manda error..

Filtro1 = "Select ciudad,count(*) as totalciudad from mitabla group by ciudad",3,3
  #9 (permalink)  
Antiguo 25/10/2004, 12:01
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Cita:
¿no?, vaya, no me había dado cuenta cuanto extrañana este foro, jejeje, se me hicieron dos meses, el mes y dias que estuve haciendo un out-sourcing.
Son unas por otras, hay que salir a buscar el sustento pese a alejarse temporalmente de los amigos.
Vaya, por fin regresó el maestrazo Myakire, un saludo Myak!
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #10 (permalink)  
Antiguo 25/10/2004, 13:04
 
Fecha de Ingreso: febrero-2004
Ubicación: D.F.
Mensajes: 201
Antigüedad: 20 años, 3 meses
Puntos: 0
Mi buern MIAKIR...

Me manda error al madar a imprimir el elemento del vector que requiero..

response.write session("vNumCiudad")(0)... asi me manda error de que no coinciden los tipos [number:106]

y si se las quito
response.write session("vNumCiudad")(0) ... No coinciden los tipos: '[undefined]'.

este ya es el ultimo paso.. ya solo para mandar a imprimir el elemento que yo quiera... no? perro no lo imprime
  #11 (permalink)  
Antiguo 25/10/2004, 13:05
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
U_G, saludos viejo y sabio amigo mio, ¿cómo esta el junior?. No te puedo dejar solo un tiempo, por que me sacas 100 mensajes de ventaja, jejeje.

Por lo de los registros, vamos a ver:

Cierto, es correcto que te haya mandado error, fue un descuido mio. Ese valor no esta definido para esa opción. Puedes intentarlo así:

rs.Open "Select ciudad,count(*) as totalciudad from mitabla group by ciudad",cnn,3,1

o bien

RS.Open "Select ciudad,count(*) as totalciudad from mitabla group by ciudad",Cnn, adopenstatic, adcmdtext
(esta opción es válida si haz definido las constantes o te haz incluido el archivo adovbs.inc -descargarlo del sitio de MS-)

Saludos
  #12 (permalink)  
Antiguo 25/10/2004, 13:10
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Ups!!!, escribimos casi al mismo tiempo

Se me hace algo extraño lo del error en el vector de session (qué en tu caso, sería más bien una matriz -grupo, totales-), este ejemplo es muy básico y te muestra como usarlos:


Código:
Dim arrMiArray(2) 
arrMiArray(0) = "Hola"
arrMiArray(1) = " Mundo" 

Session("arrMiArray") = arrMiArray 

for i = 0 to Ubound(arrMiArray)
  response.write Session("arrMiArray")(i)
next
O bien, pon un poco del código para ver que tiene.

Saludos

Última edición por Myakire; 25/10/2004 a las 13:13
  #13 (permalink)  
Antiguo 25/10/2004, 13:39
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Cita:
U_G, saludos viejo y sabio amigo mio, ¿cómo esta el junior?. No te puedo dejar solo un tiempo, por que me sacas 100 mensajes de ventaja, jejeje.
Todo bien con el jr. gracias, anda dando guerra como de costumbre je je je, y bueno, mejor me pongo a postear antes que en dos días tengas 1500!

Salú!
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #14 (permalink)  
Antiguo 25/10/2004, 13:41
 
Fecha de Ingreso: febrero-2004
Ubicación: D.F.
Mensajes: 201
Antigüedad: 20 años, 3 meses
Puntos: 0
Aki esta el codigo.. con parte de las instrucciones que me proporcionaste!!!


<!--#Include File="ADOVBS.Inc" -->
<%
Set Conexion=Server.CreateObject("ADODB.Connection")
Conexion.Open "oportunidades_rmne","",""
Set Tabla1= Server.CreateObject("ADODB.RecordSet")
Filtro1 = "Select edadgeolog,count(*) as totaledad from OPORTUNIDADESMAR group by edadgeolog"
Tabla1.CursorType=1
Tabla1.Open filtro1,Conexion,Cnn,3,1

dim vecCiudades(Tabla1.recordcount) 'para empezar me marca un error aki (error:se esperaba una constante entera)
'recuerda que el tamaño la longitud del vector depende de los datos que arroje la bd.
cnt=0

If ((Tabla1.Eof = False) and (Tabla1.Bof=False)) Then

DO WHILE NOT Tabla1.Eof

vecCiudades(cnt)=Tabla1("totaledad")

Tabla1.MoveNext
LOOP
session(vNumCiudad)=vecCiudades
Response.write session(vNumCiudad)(0)

Else

Response.Write("<br><br>No se encontro ningun registro")
End If
Tabla1.Close
Conexion.Close
%>
  #15 (permalink)  
Antiguo 25/10/2004, 14:47
 
Fecha de Ingreso: febrero-2004
Ubicación: D.F.
Mensajes: 201
Antigüedad: 20 años, 3 meses
Puntos: 0
'Dim vecCiudades(Tabla1.recordcount) 'para empezar me marca un error aki (error:se esperaba una constante entera) no me respeta el valor que trae de la tabla en esta asignacion



en esta parte me manda lo siguiente:

DO WHILE NOT Tabla1.Eof

vecCiudades(cnt)=Tabla1("totaledad")
'response.write (vecCiudades(cnt)&"<br>")

Session("vNumCiudad")= vecCiudades(cnt)
Response.write(Session("vNumCiudad")(2)&"<br>") ' ya cuando mando a imprimir el elemento ne manda este error (No coinciden los tipos [Number:106])

Tabla1.MoveNext
LOOP
  #16 (permalink)  
Antiguo 25/10/2004, 15:13
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Vamos por partes:

Dim vecCiudades()
'Despues lo redimensionas
Redim vecCiudades(Tabla1.recordcount)


Primero prueba esto y vemos donde le duele a lo siguiente

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #17 (permalink)  
Antiguo 26/10/2004, 08:06
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Listo, aquí tienes ya como te puede funcionar.

Código:
<!-- #INCLUDE File="adovbs.inc" -->
<%
  Set oConn1 = Server.CreateObject("ADODB.Connection")
  Set Tabla1 = Server.createobject("ADODB.Recordset")
  oConn1.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("prueba.mdb")
  Tabla1.Open "select hits, count(hits) as suma from nombres group by hits",oConn1,adopenstatic,adcmdtext	

ReDim vecCiudades(1,Tabla1.recordcount)

cnt=0

If ((Tabla1.Eof = False) and (Tabla1.Bof=False)) Then
DO WHILE NOT Tabla1.Eof
  vecCiudades(0,cnt)=Tabla1("hits")
  vecCiudades(1,cnt)=Tabla1("suma")
  Tabla1.MoveNext
  Cnt = Cnt + 1	
LOOP
session("vNumCiudad")=vecCiudades
Else
Response.Write("<br><br>No se encontro ningun registro")
End If
%><Table>
<tr><td>Hits</td><td>Total</td></tr>
<%
for i=0 to UBound(Session("vNumCiudad"),2)
%>
   <tr><td><%=Session("vNumCiudad")(0,i)%><td><%=Session("vNumCiudad")(1,i)%>
	
<%
Next	
%></Table><%
Tabla1.Close
oConn1.Close
%>
Saludos
  #18 (permalink)  
Antiguo 26/10/2004, 10:40
 
Fecha de Ingreso: febrero-2004
Ubicación: D.F.
Mensajes: 201
Antigüedad: 20 años, 3 meses
Puntos: 0
OK MIAKIRE.. ya quedo..!!!

sabes.. un par de dudas mas...

lo que hicimos fue.. hacerlo mediante solo un campo.. esto lo puedo hacer para con otros campos mas? supongo que si.. pero el problema es que el recordcount para un campo y otro no seria el mismo... porque para uno puedo tener 10 y para otro campo puede tener 5, pero el recordcount es para toda la tabla, entraria en conflicto. no?

ya que necesito agrupar los registros de otro campo..

otro pregunta que tengo es.. como puedo visualizar mas campos aparte del campo agrupado?..

ejemplo: anterior
Filtro= "select edadgeolog, count(edadgeolog) as totaledad from oportunidadesmar group by edadgeolog"
aqui si me mustra los resultados bien. ya con el grupo...

pero si requiero de mas campos, como seria la sentencia?

select *, count(edadgeolog) as totaledad from oportunidadesmar group by edadgeolog"
esta sintaxis me manda error : No se pueden agrupar campos seleccionados con *...

lo que requiero como punto final es tener un query onde me muestra datos de acuerdo a mi consulta.. pero al mismo tiempo el grupo de reg. de un campo....
  #19 (permalink)  
Antiguo 26/10/2004, 11:11
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Si vas a agrupar, en el select no puedes poner *. En el group by deben ir todos los campos no agregados (Sum's, Count's, Average's, etc.). Simplemente debes de poner los nombres de los campos, uno a uno.

Ahora, por lo del recorcount, efectivamente es por tabla, así que deberias de hacer varias consultas (en el mismo recordset si deseas, no hay problema por eso), y cada consulta irla metiendo al arreglo.

No se si eso es lo que preguntabas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:35.