La Web del Programador: Comunidad de Programadores
https://www.lawebdelprogramador.com/foros/Visual-Basic/1124938-Leer-secuencialmente-una-tabla-Access-Cursor.html

Leer secuencialmente una tabla Access ¿ Cursor ?

Leer secuencialmente una tabla Access ¿ Cursor ?

Publicado por Javier Alvarez (8 intervenciones) el 18/07/2009 12:25:57
Hola,

Necesito hacer un programa VB.NET que lea secuencialmente una tabla y a partir de sus datos acceda a otra (no se puede hacer join). El problema es que no sé como hacer esto en Access, siempre me lee el mismo registro. En otros sistemas se suele declarar un cursor y despues ir leyendo, pero parece ser que en Access no se pueden declarar cursores, así pues ¿ cómo lo hago ?.

RE:Leer secuencialmente una tabla Access ¿ Cursor

Publicado por JaImE GuErReRo (361 intervenciones) el 21/07/2009 18:19:25
lo que tienes que hacer en access es cargar la informacion de tu consulta a un datareader, luego tienes que recorrer el datareader u hacer las otras consultas a la base de datos .

RE:Leer secuencialmente una tabla Access ¿ Cursor

Publicado por Javier Alvarez (8 intervenciones) el 21/07/2009 18:23:12
Gracias por la ayuda.

¿ Podrias enviarme un ejemplo ?

RE:Leer secuencialmente una tabla Access ¿ Cursor

Publicado por JaImE GuErReRo (361 intervenciones) el 21/07/2009 18:36:39
en este momento no tengo uno a la mano.

indicame como realizas una consulta a una tabla de forma nomal.

RE:Leer secuencialmente una tabla Access ¿ Cursor

Publicado por Javier Alvarez (8 intervenciones) el 21/07/2009 18:42:46
Try
comandoSQL = New OleDb.OleDbCommand( _
"SELECT Llamadas.Numero, Llamadas.NumeroAnis, Llamadas.Fecha, Llamadas.Hora, Llamadas.Origen, Llamadas.TipoTrafico, Llamadas.Segundos, Llamadas.Tarifa, Llamadas.NumeroGeografico, Llamadas.DiaSem, Llamadas.IdLlamada" _
& " FROM Llamadas" _
& guere _
& " ORDER BY Llamadas.Fecha, Llamadas.Hora", conexion)

lector = comandoSQL.ExecuteReader
If lector.Read Then
TLlamadas_Numero = lector(0)
TLlamadas_NumeroAnis = lector(1)

fechaInterm = lector(2).ToString
TLlamadas_Fecha = Mid(fechaInterm, 4, 2) & "/" & Mid(fechaInterm, 1, 2) & "/" & Mid(fechaInterm, 7, 4)

TLlamadas_Hora = Format(lector(3), "Long Time")
TLlamadas_Orígen = System.Convert.ToString(lector(4))
TLlamadas_TipoTrafico = System.Convert.ToString(lector(5))
TLlamadas_Segundos = lector(6)
TLlamadas_Tarifa = System.Convert.ToString(lector(7))
TLlamadas_NumeroGeografico = System.Convert.ToString(lector(8))
TLlamadas_DiaSem = lector(9)
TLlamadas_IdLlamada = lector(10)
End If
Catch ex As Exception
Throw ex
Finally
'Se ejecuta siempre
End Try

RE:Leer secuencialmente una tabla Access ¿ Cursor

Publicado por JaImE GuErReRo (361 intervenciones) el 21/07/2009 18:49:26
si lo que vas a hacer es buscar en otra tabla con el valor del datareader lector
debes añador

while lector.Read
aca pones el codigo para hacer otra busqueda en la base de datos
y realizas la misma conexion que haces

end while

RE:Leer secuencialmente una tabla Access ¿ Cursor

Publicado por Javier Alvarez (8 intervenciones) el 21/07/2009 22:22:44
Ok, Gracias