--------------AYUDA CON Base de Datos --------------

bezael
17 de Marzo del 2004
HOLA, ¿ALQUIEN ME PUEDE AYUDAR ?
Tengo una base de datos en Access 2000 que esta relacionada entre dos tablas,Una tabla PADRES y Otra HIJOS.
Está todo conectado en Vb6, lo unico que me falta es que cuando yo seleccione, un registro de un DataGrid1, que es la tabla PADRES, en otro DataGrid2,que es la tabla HIJOS, me salgan solo, los hijos de ese padre, es decir los registros que tengan relacion.
SE QUE PUEDEN.

Bartolom
17 de Marzo del 2004
Para eso, ambas tablas deben tener un campo en común, por ejemplo Nombre_Padre, que sería único para la tabla padres y con duplicados para la tabla hijos, o sea una relación uno a muchos.
Al clickear sobre el datagrid, se produce un evento click, lo que puedes hacer es modificar el RecordSource del ADO enlazado al datagrid2. Sería una instrucción así:

Supongamos que el ADO enlazado a la tabla hijos se llame Adodc2 y el datagrid enlazado a la tabla padres se llame datagrid1, entonces:

Private Sub DataGrid1_Click()
Dim Cadena As String
Cadena = DataGrid1.Columns(0).Text
Adodc2.RecordSource = "SELECT * FROM hijos WHERE Nombre_Padre Like '" & Cadena & "'"
Adodc2.Refresh
End Sub

Así le vas cambiando el recordsource al Adodc2 y como éste estará enlazado a otro grid, ese grid irá mostrando lo que tu quieres. Acá estoy asumiendo que el campo en común se llama Nombre_Padre y es la primera columna. Si es otra columna, tienes que cambiar el subíndice (0) por el que corresponda a la columna

Saludos!
Bartolom
Chile

Angel
17 de Marzo del 2004
Oye pero como saber en donde dió click, es decir, si pones DataGrid1.Columns(0), manipulas esa columna, pero como sabes que le dio click en esa columna?? o como manupilar el dato exacto en donde esta dando click?

Bartolom
17 de Marzo del 2004
El click es un evento para todo el DataGrid. Da lo mismo donde hagas el click, lo importante es la instrucción de ese click, que es la que va arelacionar los dos grid

Saludos!
Bartolom
Chile