Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Listar Tabla VisualB + Access

Estas en el tema de Listar Tabla VisualB + Access en el foro de Visual Basic clásico en Foros del Web. Hola Amigos, tengo una duda sobre un Query en Visual Basic con VisualBasic; Yo trabajo con sistemas en la Web, PHP, Javascript, ActionScript, pero en ...
  #1 (permalink)  
Antiguo 05/07/2010, 14:54
Avatar de JoseAlejandro_Realza  
Fecha de Ingreso: agosto-2008
Ubicación: Maracay - Venezuela
Mensajes: 192
Antigüedad: 16 años, 3 meses
Puntos: 2
Listar Tabla VisualB + Access

Hola Amigos, tengo una duda sobre un Query en Visual Basic con VisualBasic; Yo trabajo con sistemas en la Web, PHP, Javascript, ActionScript, pero en Visual no tengo la misma habilidad.

El Problema es el siguiente:

Quiero listar los registros de una tabala sobre categorias de un inventario, todo bien, pero cuando quiero listar todos los datos almacenados, solo me arroja un array con los datos del primero que encuentre, en vez de arrojarme un arreglo multidimensional como lo hace PHP, para poder mostrar todos los que consiga. El codigo que estoy utilizando es el siguiente

Código:
Tabla.Source = "SELECT * FROM Categorias ORDER BY Categoria_Nombre"
Tabla.Open
    
    For Each Datos In Tabla()
    MsgBox (Datos)
    Next
Ya intente colocandole el Query en el Open, pero sigue haciendo igual. Espero me puedan ayudar, Saludos
__________________
Tu Guía Empresarial http://www.empresarial.org.ve Soluciones Empresariales

Atte: José Alejandro Realza
  #2 (permalink)  
Antiguo 06/07/2010, 07:17
Avatar de -rommel_  
Fecha de Ingreso: junio-2008
Ubicación: Lima
Mensajes: 360
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Listar Tabla VisualB + Access

Estas usando ADO?...
en el buscador del foro hay varios temas de Conexiones de Base de Datos... Si este paso ya lo hiciste entonces... dinos a que Contenedor (grid, MshFlexGrid, etc etc) estas poniendo la data... y que resultado te da...

Saludos...
  #3 (permalink)  
Antiguo 06/07/2010, 07:18
 
Fecha de Ingreso: enero-2007
Ubicación: 9 de julio
Mensajes: 111
Antigüedad: 17 años, 10 meses
Puntos: 2
Respuesta: Listar Tabla VisualB + Access

Hola, por favor proba asi que tendría que funcionar

Código:
Sql = "SELECT * FROM Categorias ORDER BY Categoria_Nombre"
Cn.Open provider="Microsoft.jet.oledb.4.0; data Source = C:\TuBase.mdb"
rs.Open Sql, Cn, adOpenDynamic, 3

'te deja el recordset en el primer registro
While Not rs.EOF
    'mostrar el campo que quieras
    MsgBox rs!NombreDelCampo
    avanzas un registro
    rs.MoveNext
Wend
'Cierra, Libera la memoria
    rs.Close
    Set rs = Nothing
    Cn.Close
    Set Cn = Nothing
End Sub
  #4 (permalink)  
Antiguo 06/07/2010, 07:59
Avatar de JoseAlejandro_Realza  
Fecha de Ingreso: agosto-2008
Ubicación: Maracay - Venezuela
Mensajes: 192
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: Listar Tabla VisualB + Access

Bueno, yo estaba utilizando ADODB, pero no consigo hacerlo, Pana99, utilice el codigo que me das, pero no se como hacerlo correr. Intente de esta manera y me da error:

Código:
Dim Conectar As New ADODB.Connection
Dim Query As New ADODB.Recordset
SQL = "SELECT * FROM Categorias ORDER BY Categoria_Nombre"

Conectar.Open Provider = "Microsoft.jet.oledb.4.0; data Source = C:\Users\Admin\Documents\Database_ARE[MJ].mdb"

Query.Open SQL, Cn, adOpenDynamic, 3

'te deja el recordset en el primer registro
While Not rs.EOF
    'mostrar el campo que quieras
    MsgBox ("Hola")
    
    rs.MoveNext
Wend
'Cierra, Libera la memoria
    Tabla.Close
    Set rs = Nothing
    Conexion.Close
    Set Cn = Nothing
__________________
Tu Guía Empresarial http://www.empresarial.org.ve Soluciones Empresariales

Atte: José Alejandro Realza
  #5 (permalink)  
Antiguo 06/07/2010, 08:25
Avatar de -rommel_  
Fecha de Ingreso: junio-2008
Ubicación: Lima
Mensajes: 360
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Listar Tabla VisualB + Access

mira este post amigo... seguro que te va a ayudar bastante...
http://www.forosdelweb.com/f69/conec...-basic-475315/
  #6 (permalink)  
Antiguo 06/07/2010, 08:52
 
Fecha de Ingreso: enero-2007
Ubicación: 9 de julio
Mensajes: 111
Antigüedad: 17 años, 10 meses
Puntos: 2
Respuesta: Listar Tabla VisualB + Access

bueno habia algunos errores en lo que cambiaste.
Aca va de nuevo probado con una base en mi pc.
Observa los comentarios de las referencias que debes usar

Código:
Private Sub Command1_Click()
Dim Conectar As New Connection, Query As New Recordset, Sql As String
'Desde el menu / Proyecto debes hacer referencia a
'Microsoft AxctiveX Data Object 2.6 library....... y a
'Microsoft Jet and Replication objects 2.6........

Sql = "SELECT * FROM Categorias ORDER BY Categoria_Nombre"
Conectar.Open "Provider = Microsoft.jet.oledb.4.0; data Source = C:\bd1.mdb"
Query.Open Sql, Conectar, adOpenDynamic, 3

'te deja el recordset en el primer registro
While Not Query.EOF
    'mostrar el campo que quieras si es mas de uno debes concatenarlos
    MsgBox Query!Categoria_Nombre
    Query.MoveNext
Wend
'Cierra, Libera la memoria
    Query.Close
    Set Query = Nothing
    Conectar.Close
    Set Conectar = Nothing
    
End Sub
Esepro te sirva
  #7 (permalink)  
Antiguo 06/07/2010, 10:09
Avatar de JoseAlejandro_Realza  
Fecha de Ingreso: agosto-2008
Ubicación: Maracay - Venezuela
Mensajes: 192
Antigüedad: 16 años, 3 meses
Puntos: 2
De acuerdo Respuesta: Listar Tabla VisualB + Access

Muchas Gracias Pana, con eso ya logre mostrar lo que quería, Ahora voy a buscar como poder listar los datos en un Grid o algo similar.. ¿ Algún consejo?
__________________
Tu Guía Empresarial http://www.empresarial.org.ve Soluciones Empresariales

Atte: José Alejandro Realza
  #8 (permalink)  
Antiguo 06/07/2010, 10:18
Avatar de -rommel_  
Fecha de Ingreso: junio-2008
Ubicación: Lima
Mensajes: 360
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Listar Tabla VisualB + Access

de esa manera seteas al DataGRid..

set me.DataGrid1.DataSource = Query
  #9 (permalink)  
Antiguo 06/07/2010, 10:42
Avatar de JoseAlejandro_Realza  
Fecha de Ingreso: agosto-2008
Ubicación: Maracay - Venezuela
Mensajes: 192
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: Listar Tabla VisualB + Access

Rommel Coloque ese codigo tal cual y me da un error que dice: El conjunto de filas no admite marcadores
__________________
Tu Guía Empresarial http://www.empresarial.org.ve Soluciones Empresariales

Atte: José Alejandro Realza
  #10 (permalink)  
Antiguo 06/07/2010, 11:02
Avatar de -rommel_  
Fecha de Ingreso: junio-2008
Ubicación: Lima
Mensajes: 360
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Listar Tabla VisualB + Access

muestrame el codigo... completo incluido donde seteas al DataGrid
  #11 (permalink)  
Antiguo 06/07/2010, 11:13
Avatar de JoseAlejandro_Realza  
Fecha de Ingreso: agosto-2008
Ubicación: Maracay - Venezuela
Mensajes: 192
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: Listar Tabla VisualB + Access

Código:
Sql = "SELECT * FROM Categorias ORDER BY Categoria_Nombre"
Conectar.Open "Provider = Microsoft.jet.oledb.4.0; data Source = C:\Users\Admin\Documents\Database_ARE[MJ].mdb"
Query.Open Sql, Conectar, adOpenDynamic, 3
Set tRs = Conectar.Execute(Sql)

'te deja el recordset en el primer registro
While Not Query.EOF
    'mostrar el campo que quieras si es mas de uno debes concatenarlos
    MsgBox (Query!Categoria_Nombre)
    Set DataGrid1.DataSource = Query

    Query.MoveNext
Wend

'Cierra, Libera la memoria
    Query.Close
    Set Query = Nothing
    Conectar.Close
    Set Conectar = Nothing
__________________
Tu Guía Empresarial http://www.empresarial.org.ve Soluciones Empresariales

Atte: José Alejandro Realza
  #12 (permalink)  
Antiguo 06/07/2010, 11:18
Avatar de -rommel_  
Fecha de Ingreso: junio-2008
Ubicación: Lima
Mensajes: 360
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Listar Tabla VisualB + Access

Código vb:
Ver original
  1. Sql = "SELECT * FROM Categorias ORDER BY Categoria_Nombre"
  2. Conectar.Open "Provider = Microsoft.jet.oledb.4.0; data Source = C:\Users\Admin\Documents\Database_ARE[MJ].mdb"
  3. Query.Open Sql, Conectar, adOpenDynamic, 3
  4. Set tRs = Conectar.Execute(Sql)
  5.  
  6. Set DataGrid1.DataSource = Query
  7.  
  8.  
  9. 'te deja el recordset en el primer registro
  10. While Not Query.EOF
  11.     'mostrar el campo que quieras si es mas de uno debes concatenarlos
  12.    MsgBox (Query!Categoria_Nombre)
  13.     Query.MoveNext
  14. Wend
  15.  
  16. 'Cierra, Libera la memoria
  17.    Query.Close
  18.     Set Query = Nothing
  19.     Conectar.Close
  20.     Set Conectar = Nothing

de verdad no entiendo tu codigo...
-- Declaracion de Variables (ADODB.Connection -> ADODB.Recordset)
-- Conexion de ADODB.Connection
-- Conexion de ADODB.Recordset con el ADODB.Connection y la Consulta
-- Setear El DataGrid con el ADODB.Recordset
-- Recorrer el ADODB.Recordset
-- Cerrar ADODB.Recordset y ADODB.Connection
en ese orden... ahi no se cual es tu Recordset... si tRs o Query... pero el Seteo del DataGrid ponlo fuera del WHILE...
  #13 (permalink)  
Antiguo 06/07/2010, 11:22
Avatar de JoseAlejandro_Realza  
Fecha de Ingreso: agosto-2008
Ubicación: Maracay - Venezuela
Mensajes: 192
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: Listar Tabla VisualB + Access

Disculpa, esta linea: Set tRs = Conectar.Execute(Sql), era probando uno de los ejemplos, el Recordset es Query. Ya coloque el Set Me.DataGrid1.DataSource = Query fuera del bucle y me da el mismo error.
__________________
Tu Guía Empresarial http://www.empresarial.org.ve Soluciones Empresariales

Atte: José Alejandro Realza
  #14 (permalink)  
Antiguo 06/07/2010, 11:47
Avatar de -rommel_  
Fecha de Ingreso: junio-2008
Ubicación: Lima
Mensajes: 360
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Listar Tabla VisualB + Access

ya se donde esta... el error te falta algo.. el cursorLocation...
antes de Conectar.Open

coloca Conectar.CursorLOcation = adUseClient

y con eso funcionara... Saludos...
  #15 (permalink)  
Antiguo 06/07/2010, 11:47
Avatar de -rommel_  
Fecha de Ingreso: junio-2008
Ubicación: Lima
Mensajes: 360
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Listar Tabla VisualB + Access

te envio el codigo que hago yo normalmente...
espero te ayude, claro necesitas un Command y un DataGrid
Código vb:
Ver original
  1. Public dbConex As ADODB.Connection
  2. Public rsConsulta As ADODB.Recordset
  3.  
  4. Private Sub Command1_Click()
  5.     Dim strQuery As String
  6.     'Seteamos rsConsulta
  7.    Set rsConsulta = New ADODB.Recordset
  8.     'hacemos la consulta
  9.    strQuery = "Select * from Authors"
  10.     'Conectamos nuestro Recordset
  11.    rsConsulta.Open strQuery, dbConex, adOpenDynamic, adLockOptimistic
  12.     'Seteamos a me.DataGrid1
  13.    Set Me.DataGrid1.DataSource = rsConsulta
  14. End Sub
  15.  
  16. Private Sub Form_Load()
  17.     Dim strDire As String
  18.     '----------------------------------------------
  19.    'Declaramos la direccion de nuestra BD
  20.    strDire = "C:\Archivos de programa\Microsoft Visual Studio\VB98\BIBLIO.MDB"
  21.     'Seteamos dbConex
  22.    Set dbConex = New ADODB.Connection
  23.     'Coloca esto para que no te salga QUE LAS FILAS NO ADMITEN MARCADORES
  24.    dbConex.CursorLocation = adUseClient
  25.     'Conectamos nuestra Base de Datos
  26.    dbConex.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDire & ";Persist Security Info=False"
  27.     'Abrimos la Base de Datos
  28.    dbConex.Open
  29. End Sub
  30.  
  31. Private Sub Form_Unload(Cancel As Integer)
  32.     rsConsulta.Close
  33.     dbConex.Close
  34. End Sub
Saludos!!!
  #16 (permalink)  
Antiguo 06/07/2010, 11:57
Avatar de JoseAlejandro_Realza  
Fecha de Ingreso: agosto-2008
Ubicación: Maracay - Venezuela
Mensajes: 192
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: Listar Tabla VisualB + Access

Ya lo modifique segun comprendi, no me genera error, mas no carga los datos dentro del DataGrid

Código vb:
Ver original
  1. Dim Conectar As New Connection, Query As New Recordset, Sql As String
  2. Conectar.CursorLocation = adUseClient
  3. Sql = "SELECT * FROM Categorias ORDER BY Categoria_Nombre"
  4. Conectar.Open "Provider = Microsoft.jet.oledb.4.0; data Source = C:\Users\Admin\Documents\Database_ARE[MJ].mdb"
  5. Query.Open Sql, Conectar, adOpenDynamic, adLockOptimistic
  6.  
  7.  Set Me.DataGrid1.DataSource = Query
  8.  
  9.     Query.Close
  10.     Set Query = Nothing
  11.     Conectar.Close
  12.     Set Conectar = Nothing
__________________
Tu Guía Empresarial http://www.empresarial.org.ve Soluciones Empresariales

Atte: José Alejandro Realza
  #17 (permalink)  
Antiguo 06/07/2010, 13:45
Avatar de -rommel_  
Fecha de Ingreso: junio-2008
Ubicación: Lima
Mensajes: 360
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Listar Tabla VisualB + Access

es que amigo... esta Cerrando la conexion del Conectar y del Query... esa conexion debes cerrarla despues...

hay una forma de dejar la conexion abierta aun cuando el CONECTAR se cierra... pero no recuerdo como es... busca en San google... Recordset en Caliente o en frio algo asi no recuerdo...

Pero si no cierras tus objetos quedaran tus datos... Saludos

Etiquetas: access, query, visualbasic
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:33.