Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-05-2005
Avatar de el_barto
el_barto el_barto is offline
Miembro
 
Registrado: may 2005
Ubicación: Bogota Colombia
Posts: 533
Poder: 22
el_barto Va por buen camino
combobox

jeje, gracias ya logre que me muestre en un combo los nombres de mis proveedores, si yo quisiera que cuando pique en uno de esos nombres me listara en una grilla todos los que corresponden por ejemplo: compaq que tendria que hacer
Responder Con Cita
  #2  
Antiguo 27-05-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Puedes poner la tabla de proveedores como MasterSource de la otra tabla. En esa otra tabla tendrías que tener un índice para la llave foránea.

// Saludos
Responder Con Cita
  #3  
Antiguo 27-05-2005
Avatar de el_barto
el_barto el_barto is offline
Miembro
 
Registrado: may 2005
Ubicación: Bogota Colombia
Posts: 533
Poder: 22
el_barto Va por buen camino
Ehhh no entiendo mucho el concepto MasterSource, yo tengo mi combobox direccionado para que solo me muestre los nombres de lo proveedores, osea que cuando yo pico en un nombre no pasa nada,, lo que quiero es que cuando yo pique en un nombre de mi combo por ejemplo compaq, en una grilla me liste la informacion almacenada de este unico proveedor. eso es muy comun lo he visto pero no tengo ni idea de como hacerlo
Responder Con Cita
  #4  
Antiguo 27-05-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por el_barto
Ehhh no entiendo mucho el concepto MasterSource
¡Pues a ponerse las pilas! Esto es esencial si vas a manejar bases de datos relacionales.

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
Responder Con Cita
  #5  
Antiguo 27-05-2005
Avatar de dmagui
dmagui dmagui is offline
Miembro
 
Registrado: may 2005
Posts: 168
Poder: 22
dmagui Va por buen camino
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.
Responder Con Cita
  #6  
Antiguo 27-05-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por dmagui
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.

Una componente Table es un dataset.

// Saludos
Responder Con Cita
  #7  
Antiguo 27-05-2005
Avatar de dmagui
dmagui dmagui is offline
Miembro
 
Registrado: may 2005
Posts: 168
Poder: 22
dmagui Va por buen camino
ahhh pero la instruccion tblProductos.MasterSource := dsrProveedores donde la uso y como en el dataset en donde en selectsql o donde???
Responder Con Cita
  #8  
Antiguo 27-05-2005
Avatar de el_barto
el_barto el_barto is offline
Miembro
 
Registrado: may 2005
Ubicación: Bogota Colombia
Posts: 533
Poder: 22
el_barto Va por buen camino
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
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 13:48:31.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi