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

mostrar datos en una dbgrid

Estas en el tema de mostrar datos en una dbgrid en el foro de Visual Basic clásico en Foros del Web. Hola a todos necesito ayuda pa mostrar informacion en un dbgrid, que es infomacion de dos tablas en access, una de empresa y otra donde ...
  #1 (permalink)  
Antiguo 25/02/2009, 13:20
 
Fecha de Ingreso: marzo-2006
Mensajes: 78
Antigüedad: 18 años, 1 mes
Puntos: 0
mostrar datos en una dbgrid

Hola a todos necesito ayuda pa mostrar informacion en un dbgrid, que es infomacion de dos tablas en access, una de empresa y otra donde sale comunas.

donde empresa tiene:
id_rut
id_comu
razon_social

comuna tiene:
id_comuna
nom_comuna

en el formulario tengo un data1 y un dbgrid1 en donde quiero que se muestren los datos de razon social y nombre de la comuna en mi grilla.

para eso en tiempo de ejecucion puse el siguiente codigo:

form_load

carga_base(llama o carga la base de dato)
Data1.DatabaseName = App.path & "\negocios.mdb"
carga_grilla


carga_grilla()
Data1.DatabaseName = App.path & "\quimica.mdb"
Data1.RecordSource = "SELECT empresa.razon_social, comuna.nom_comuna" + _
"FROM tipo INNER JOIN (comuna INNER JOIN empresa ON comuna.id_comuna = empresa.id_comuna) ON tipo.id_tipo = empresa.id_tipo;"
DBGrid1.DataSource = Data1
Data1.Refresh


y me aparece un error que dice:

ERROR 430 EN TIEMPO DE EJECUCION, ESTA CLASE NO ADMITE AUTORIZACION O NO ADMITE LA INTERFAZ ESPERADA

trabajo con DAO, please si alguien sabe por favor ayuda.....
  #2 (permalink)  
Antiguo 25/02/2009, 20:21
 
Fecha de Ingreso: febrero-2009
Ubicación: Villa Ocampo - Santa Fe
Mensajes: 100
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: mostrar datos en una dbgrid

hazlo de la siguiente manera

Set DBGrid1.DataSource = Data1

y va a funcionar ;)
saludos

una sujerencia deberias trabajar con ADO ya que es una tecnología superior a DAO
cuentame como te fue
  #3 (permalink)  
Antiguo 26/02/2009, 21:56
 
Fecha de Ingreso: marzo-2006
Mensajes: 78
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: mostrar datos en una dbgrid

pucha mala noticia, no me funciono, el colocar esa linea de codigo, al ejecutar el programa me aparece el mismo error, y cuando depuro, en esa linea de codigo me dice "SE REQUIERE UN OBJETO"

Data1.DatabaseName = App.path & "\quimica.mdb" , en esa linea de codigo me lee la base de datos....

Data1.RecordSource = "SELECT empresa.razon_social, comuna.nom_comuna" + _
"FROM tipo INNER JOIN (comuna INNER JOIN empresa ON comuna.id_comuna = empresa.id_comuna) ON tipo.id_tipo = empresa.id_tipo;", en esa otra me lee la consulta tal cual como esta ahi, pero el la siguente no hay caso que pase la informacion del data al dbgrid, puede que a lo mejor en algunas de las propiedades tanto del data con del dbgrid aya que poner algo mas.....
  #4 (permalink)  
Antiguo 27/02/2009, 02:24
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: mostrar datos en una dbgrid

Cita:
Iniciado por pilar_tellez Ver Mensaje
pucha mala noticia, no me funciono, el colocar esa linea de codigo, al ejecutar el programa me aparece el mismo error, y cuando depuro, en esa linea de codigo me dice "SE REQUIERE UN OBJETO"

Data1.DatabaseName = App.path & "\quimica.mdb" , en esa linea de codigo me lee la base de datos....

....
Primero tienes que abrir una conexión a la base de datos.

Prueba así:

Código:
Dim db As Database
    Set db = OpenDatabase(App.Path & "\quimica.mdb")
    sql = "SELECT empresa.razon_social, comuna.nom_comuna" + _
"FROM tipo INNER JOIN (comuna INNER JOIN empresa ON comuna.id_comuna = empresa.id_comuna) ON tipo.id_tipo = empresa.id_tipo;"
    With Data1
        .DatabaseName = db.Name
        .RecordSource = sql
        .Refresh
    End With
Supongo que la consulta te funciona ¿no?

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:59.