SUPER URGENTE, un aleatorio, estoy desesperada

Gabriela
11 de Octubre del 2003
Espero alguien pueda ayudarme, necesito que un formulario (VISUAL BASIC) me genere 20 preguntas aleatorias de una base de datos de 200 preguntas(ACCES), ya tengo el formulario con 20 labels (index) para las preguntas y 60 option button(index) para las respuestas y la base con una columna para la pregunta y otras tres para las respuestas, pero no se como hacer que me de las preguntas de manera aleatoria, para cada pregunta tengo tres option button para colocar las respuestas a cada pregunta. tengo el siguiente código pero no puedo hacerlo funcionar.
en la sección declarations de la form
Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset
se activo el ActiveX Data Objects en Project / References
se asume que se creó un ODBC que apunta hacia mi base de datos. El ODBC creado tiene el nombre de base.
Private Sub Form_Load()
cnn.ConnectionString = "dsn=base"
cnn.Open
rs.Open "select * from preguntas", cnn
End Sub
Private sub cmdGenerar_click()
Dim n As Integer 'pregunta n
Dim TotalPreguntas As Integer
Dim veces As Integer
Dim yaexiste As Boolean
'Determina el total de preguntas en la tabla
TotalPreguntas = rs.RecordCount
For veces = 1 To 20
yaexiste = True 'Asume que ya existe la pregunta
While yaexiste 'se repite hasta encontrar una pregunta que no exista
'Selecciona una pregunta al azar
n = aleatorio(TotalPreguntas)
yaexiste = buscar(n) 'Busca en un arreglo de preguntas si ya existe n
If yaexiste = False Then 'No existe la pregunta, por lo tanto la usa en el examen
lblpreg(veces) = rs(n).Fields("pregunta")
'' Acá va el código para las respuestas aleatorias
colocar n 'coloca n en el arreglo de preguntas ya puestas
End If
Wend
Next
End sub

Si alguien me puede ayudar a arreglar el código o si ´propone un código diferente se los agradecere infinitamente, estoy desesperada solo tengo 2 dias para entregarlo.

Baltasar
11 de Octubre del 2003
La función rnd te devuelve un número aleatorio entre 0 y 1 (con muuuchos decimales)

de esa forma: rnd*200 devolverá un número aleatorio entre 0 y 200

si lo que necesitas es un número entero, basta con poner: int(rnd*200)

Saludos

Gabriela
11 de Octubre del 2003
y ese int(rnd+200) solo lo evaluo en el codigo que ya tengo y como hago que me arroje las preguntas que estan en la otra columna?
Gracias por responderme.