Vb6 y access 2000

Hola mi nombre es Melissa, tengo un formulario que tiene un DBGRID, DATACONTROL, COMBOBOX, mi pregunta es como hago para asociar el COMBOBOX con el DBGRID, tengo mi base de datos en access con todas sus relaciones, pero dependiendo de la tabla que se elija en el COMBOBOX me baje la información a la DBGRID, es decir me va a arrastrar cualquier tabla de access dependiendo de la selección del COMBOBOX.
Te aclaro que no se si con esas herramientas es posible hacer lo que te estoy planteando
Gracias de antemano por lo que puedas hacer por mi...

1 Respuesta

Respuesta
1
Primero que todo perdona la demora y ojalá aún te sirva mi respuesta.
No te equivocaste al elegir los controles, pero hay que trabajarlos tanto en tiempo de diseño como en ejecución. Dibujé un formulario y coloqué en él un combobox, un control data y un dbgrid. Veamos paso a paso:
1. El combobox (Combo1) le puse su propiedad Style en el valor "2-Dropdown List" para que no se pueda escribir nada en él.
2. El control data (Data1) tiene su propiedad DatabaseName en "C:\Archivos de programa\Microsoft Visual Studio\VB98\Biblio.mdb" para poder usar la base de datos de ejemplo de Visual basic.
3. El control dbgrid (DBGrid1) tiene su propiedad DataSource con el valor "Data1", que es el nombre del control data.
Te aclaro que estas propiedades no pueden establecerse en ejecución. Sigamos.
4. Debemos establecer una referencia a la Biblioteca DAO 3.6 (Microsoft DAO 3.6 Object Library) para poder acceder a la base de datos por medio de código.
5. El procedimiento Form_Load debe establecer un objeto Database y conectarse a la base de datos Biblio, luego a través de un objeto TableDef recorremos la colección TableDefs de la base de datos y vamos levantando las tablas al control Combo1 (verificando eso sí que no sean tablas del sistema).
==============================
Private Sub Form_Load()
Dim wspEspacioTrabajo As Workspace
Dim dbsBaseDatos As Database
Dim tdfTabla As TableDef
Set wspEspacioTrabajo = DBEngine.Workspaces(0)
Set dbsBaseDatos = wspEspacioTrabajo.OpenDatabase("Biblio.mdb")
With dbsBaseDatos
For Each tdfTabla In .TableDefs
'Si la tabla no es del sistema
If (tdfTabla.Attributes And (dbSystemObject Or dbHiddenObject)) = 0 Then
Combo1.AddItem tdfTabla.Name
End If
Next tdfTabla
End With
End Sub
==============================
6. El procedimiento Combo1_Click toma el item seleccionado y lo establece como origen de registro para el control Data (propiedad RecordSource), luego se refresca el control y eso va a hacer que el dbgrid muestre los registros de dicha tabla.
==============================
Private Sub Combo1_Click()
Data1.RecordSource = Combo1.List(Combo1.ListIndex)
Data1.Caption = Combo1.List(Combo1.ListIndex)
Data1.Refresh
End Sub
==============================
Espero que a pesar del retraso esto te pueda servir, gracias por la confianza.
Italo
PD. Si VB6 no puede abrir la base de datos, entonces deberás convertirla a una versión anterior de Access.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas