![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Cita:
Vamos a suponer que tienes tus tablas proveedores = (id, nombre, otros campos) productos = (id, proveedor_id, nombre, otros campos) Estas dos tablas están relacionadas mediante las llaves: proveedores.id <--> productos.proveedor.id en una relación 1 a muchos (cada producto es de un único proveedor y cada proveedor puede tener muchos productos). Si tú filtras la tabla de productos por un proveedor obtendrás todos los productos de ese proveedor. En Delphi, estas relaciones se establecen entre dos dataset asociados a las tablas físicas mediante las propiedades MasterSource y MasterFields de la tabla que quieres filtrar. Así, si tblProductos y tblProveedores son componentes Table asociadas a las tablas productos y proveedores respectivamente y dsrProductos y dsrProveedores son datasource enlazados a ellas, entonces tienes que poner tblProductos.MasterSource := dsrProveedores En el inspector de objetos, una vez hecho esto, das doble click sobre la propiedad MasterFields de tblProductos y en la ventana que aparece especificas los campos que hacen la relación en la tabla maestra (proveedores) y la tabla "fuente" o "esclava" (productos). Normalmente, para poder hacer esto deberás haber definido un índice sobre la llave foránea (proveedor_id) en la tabla esclava. Con esto, la tabla productos se filtra en automático cada vez que seleccionas un proveedor por lo que al seleccionarlo en el combo, el grid sin más nada mostrará sólo los productos de ese proveedor. // Saludos |
|
#2
|
||||
|
||||
|
a mi me interesa este tema pero no entiendo para nada cuando dices que
""Así, si tblProductos y tblProveedores son componentes Table asociadas a las tablas productos y proveedores respectivamente y dsrProductos y dsrProveedores son datasource enlazados a ellas, entonces tienes que poner tblProductos.MasterSource := dsrProveedores"" yo tengo creado un dbdatabase un dbtransaction dos dataset y un datasource, una grilla y un dblookupcombobox, no se como relacionar ese prefijo "tbl" es otro control o que es eso. |
|
#3
|
||||
|
||||
|
Cita:
Una componente Table es un dataset. // Saludos |
|
#4
|
||||
|
||||
|
ahhh pero la instruccion tblProductos.MasterSource := dsrProveedores donde la uso y como en el dataset en donde en selectsql o donde???
|
|
#5
|
||||
|
||||
|
Cita:
tblProductos.masterSource ----> dsrProveedores ----> tblProveedores pero se debe especificar los campos que relacionan ambas tablas, esto se hace con la propiedad masterFields, solo es cuestión de probar |
|
#6
|
||||
|
||||
|
¿el_barto = dmagui?
¿estamos ante un caso de doble personalidad? ![]() |
|
#7
|
||||
|
||||
|
dmagui???? veo que tiene el mismo inconveniente pero ni idea quien es, yo tengo otro usuario que es bartolomeo pero nunca me acorde de la clave, Influye en algo????
|
|
#8
|
||||
|
||||
|
Siiii sisisi entiendo pero este tblproveedores debe apuntar a que datasource o a donde??? gracias
|
|
#9
|
||||
|
||||
|
Cita:
|
|
#10
|
||||
|
||||
|
Oye no, no se si fue que no entendi pero no nada me sale tblproductos y tblproveedores son table cada uno, listo cree los table pero no se como relacionarlos a mi tabla, no se a que dataset deben estar relacionados estos datasource y no se que sentencias sql debe llevar estos dataset, la instruccion ""tblProductos.MasterSource := dsrProveedores" no se en donde colocarla
En conclucion estoy mas perdido que quien sabe que, y necesito de tu ayuda y de tu paciencia para que esto me salga bien y antetodo gracias |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|