Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





problemas con seleccion en tabla

Iniciado por sebastianarroyo, 21 de Diciembre de 2007, 04:49:58 PM

« anterior - próximo »

sebastianarroyo

Hola, tengo el siguiente problema con una tabla acces 97 que estoy levantando con sql. (Visual Basic)
el problema es que no puedo mostrar toda la base de datos.
solamente me muestra el primer registro de la tabla.
y la idea es mostrar toda la tabla !
este es el codigo que estoy utilizando:


Dim cargdia As Database
Dim buscara1 As Recordset
Set cargdia = OpenDatabase("c:\Sound Media\BDuser\" & DIA & ".mdb")
Set buscara1 = cargdia.OpenRecordset("SELECT * from Luna1")

If buscara1.RecordCount > 0 Then
MsgBox buscara1.RecordCount
Audio1play.MSFlexGrid1.Rows = buscara1.RecordCount + 1
For buscador = 1 To buscara1.RecordCount

Audio1play.MSFlexGrid1.TextMatrix(h, 0) = buscara1!icono & ""

h = h + 1

buscara1.MoveNext
Next buscador

saludos y gracias

shephiroth

Quizas meto la pata, pero en vez de un recordset no deberias usar un DataTable??

[EX3]

No tengo ahora el VB delante pero recuerdo que para obtener todos los registros tenias que coger el recorset y hacer algo similar al dataReader de ADO.NET:

Do Not buscar1.EOF ' Mientras no sea final del recordset...
   valor = buscar(0) ' Obtiener el valor de la celda con indice 0 del registro actual.
   buscar1.MoveNext ' Actualiza el apuntador del registro al siguiente.
Loop

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

sebastianarroyo

la verdad es que no lo puedo lograr.
pregunto, con sql y de la forma que estoy haciendo, existe alguna posibilidad de hacerlo ?
saludos !!

[EX3]

Parece que no iba mal encaminado. Aqui un extracto de un programa que usa el metodo que comento:
Set rsRD = New ADODB.Recordset
rsRD.ActiveConnection = cnDoptico ' cnDoptico es un objeto de tipo Connection.
cnDoptico.CommandTimeout = 0
rsRD.Source = stSQLRD ' stSQLRD es un string con la consulta en SQL.
rsRD.Open , , adOpenStatic
While Not rsRD.EOF
   ...
   valor = rsRD(0) ' Obtiene el valor del primer campo del registro.
   ...
   rsRD.MoveNext ' Pasa al siguiente registro de la consulta.
Wend

De tu forma no podras leer mas que el primer registro ya que en ningun lado estas moviendo el puntero al siguiente registro de la consulta. Si has de recorrer toda la consulta el codigo de arriba seria el idoneo.

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

sebastianarroyo

Gracias, arme algo mas o menos y funciono. solamente tengo que perfeccionarlo.
muchas gracias por tu tiempo y por la solucion
Saludos.-






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.