Visual Basic - consulta loop DB, ¿como hacerlo?

Life is soft - evento anual de software empresarial
 
Vista:

consulta loop DB, ¿como hacerlo?

Publicado por Tuchel (2 intervenciones) el 13/04/2017 20:41:39
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
dim i as integer
 
 
form_load
i = 1
 
'Abrimos la base de datos
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=\\SERVIDOR\Documentos\Cooptrans.mdb"
rs.Source = "const" 'Especificamos la fuente de datos. En este caso la tabla "contactos".
rs.CursorType = adOpenKeyset 'Definimos el tipo de cursor.
rs.LockType = adLockOptimistic 'Definimos el tipo de bloqueo.
rs.Open "select * from Const WHERE Nu =1", cn 'Abrimos el Recordset y lo llenamos con una consulta SQL.
rs.MoveFirst
Co1 = rs("Co")
rs.Close
rs.Open "select * from Const WHERE Nu =2", cn
Co2 = rs("Co")
rs.Close
rs.Open "select * from Const WHERE Nu =3", cn
Co3 = rs("Co")
rs.Close

Esto me funciona pero son 28 registros quisiera saber si hay forma de hacer un loop o algo como esto:

1
2
3
4
5
6
7
8
9
Do While i < 29
    If i = 28 Then
        Exit Do
    End If
    rs.Open "select * from Const WHERE Nu =  i  ", cn 'Abrimos el Recordset y lo llenamos con una consulta SQL.
    Co(i) = rs("Co")
    i = i + 1
    rs.close
Loop

Eso no funciona pues no se como hacer que el nombre de la variable aunmente con "i", ni que la consulta funcione con dicha variable.

Espero mas o menos se entienda lo que deseo hacer y si hay una forma diferente de simplificarlo me puedan ayudar .

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 119
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

consulta loop DB, ¿como hacerlo?

Publicado por Christian (713 intervenciones) el 17/04/2017 02:49:26
No amigo eso está muy mal.
Tienes que cambiar la consulta fuera del while.
Investiga la cláusula between de SQL.
Y luego utiliza movenext para recorrer el recordarte.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

consulta loop DB, ¿como hacerlo?

Publicado por Tuchel (2 intervenciones) el 17/04/2017 17:28:04
Muchísimas gracias ya lo resolví, quedo así:

1
2
3
4
5
6
7
8
9
10
11
rs.Open "select Co from const where Nu between 1 and 28", cn
Co1 = rs("Co")
rs.MoveNext
Co2 = rs("Co")
rs.MoveNext
Co3 = rs("Co")
rs.MoveNext
Co4 = rs("Co")
rs.MoveNext
... etc
rs.close

se simplifico un poco y funciona.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar