--------------AYUDA CON Base de Datos --------------
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.
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.
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
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
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?
