Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/04/2004, 08:06
Avatar de u_goldman
u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Pero esos id's repetidos son datos diferentes o iguales, porque si son iguales, pos tu problema es de normalización más bien...bueno más o menos se me ocurre que hagas esto:

1.- Obtén el máximo valor de idcurso con esta función que recibe la tabla y el campo:

Function ObtenerMaximo(tabla, campo)
MyMax = 0
Set rsObtenerMaximo = Server.CreateObject("ADODB.Recordset")
strSQLObtenerMaximo = "SELECT MAX(" & campo & ") AS MiMax FROM " & tabla
rsObtenerMaximo.Open strSQLObtenerMaximo, ObjConn, 3, 3
If not rsObtenerMaximo.EOF Then
MyMax = rsObtenerMaximo("MiMax")
End If
rsObtenerMaximo.Close
Set rsObtenerMaximo = Nothing
ObtenerMaximo = MyMax
End Function

itera = ObtenerMaximo("esta_tabla", "idcurso")

2.- Por medio de esta otra función, obtén el número de id repetidos para cada número en la variable itera...
Haz un ciclo que guarde cada uno de estos resultados en un arreglo, recorre al arreglo e imprime

Function DevuelveRegistro(tabla, campo, condicion, numerico)
Set rsDevuelveRegistro = Server.CreateObject("ADODB.Recordset")
If numerico Then
strSQLDevuelveRegistro = "SELECT " & campo & " FROM " & tabla & " WHERE " & campo & "=" & condicion
Else
strSQLDevuelveRegistro = "SELECT " & campo & " FROM " & tabla & " WHERE " & campo & "='" & condicion & "'"
End If
rsDevuelveRegistro.Open strSQLDevuelveRegistro, ObjConn, 3, 3
If not rsDevuelveRegistro.EOF Then
cuenta = rsDevuelveRegistro.RecordCount
Else
cuenta = 0
End If
rsDevuelveRegistro.Close
Set rsDevuelveRegistro = Nothing
DevuelveRegistro = cuenta
End Function

Dim arrRegistros()

For i = 1 to cuenta
este_registro = DevuelveRegistro("una_tabla", "idcurso", i, true)
If i = 1 Then
Redim arrRegistros(i)
arrRegistros(i) = este_registro
Else
Redim Preserve arrRegistros(i)
arrRegistros(i) = este_registro
End If
Next

For i = 0 to uBound(arrRegistros)
Response.Write("Hay en el idcurso=" i + 1 & arrRegistros(i) & " registros<br>")
Next

Ok ahora este modelo tiene un problema que sería el número de iteraciones que daría en el supuesto que encuentre un max de 100 y solo haya valores de 1 y 100 por ejemplo, pero ve si te sirve, es lo que se me ocurre de momento.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway