
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,