FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Relación varios a varios
El diseño de la base de datos de una aplicación es importante como lo es tambien el diseño de la entrada de los datos.
Pieso que no hay nada mejor que explicar mediante ejemplo y mi duda la hare de esta forma: Me dirijo a hacer una aplicación y sale un diseño de base de datos con tres tablas: Almacen(CodAlm, Decrip), Inventario(codAlm,CodProd, CAntidad ), Productos(CodProd, Descrip) Ahora bien hasta lo que yo se, me convendría hacer una consulta con las tablas Inventari y Productos ya que cada vez que entro un producto tengo que entrar su cantidad, hasta ahi bien, realizo la consulta con los campos de una + la otra, bien hay dos situaciones cuando voy a entrar por consulta un producto que no esta en la tabla producto no hay problemas funciona pero cuando no esta me da un error, en acces no da ese problema porque automaticamente cuando entras el CodProd en consulta, llena los otros campos automaticamente y resuelto el problema pero en delphi no hace esto ¿Como puedo simular lo que hace acces en delphi? desde ya gracias |
#2
|
||||
|
||||
Hola
Supongo que lo que haces es enlazar un programa delphi con access, si es asi con que componentes lo enlazas?. No entiendo el problema. Saludos |
#3
|
|||
|
|||
Muchos a Muchos
Primeramente gracias por la respuesta.
Exactamente enlazo delphi con acces mediante los componentes adoconection, AdoTable, AdoQuery, este ultimo lo utilizo para hacer una consulta de los campos de dos tablas las tablas: productos e inventarios. en acces esta consulta funciona perfectamente a la hora de entrar la información pero en delphi me da un error la que en delphi no llena automaticamente los campos de referencia entre las dos tablas la consulta es la sig: SELECT Inventario.CdProd, Inventario.CdAlm, Inventario.Cantidad, Prod.CdProd, Prod.Descrip FROM Prod INNER JOIN Inventario ON Prod.CdProd = Inventario.CdProd; La misma como decia la utlizo para entrar información y que automaticamente llene las tablas correspondiente. espero que esto siba para que comprendas mejor mi problemas Muchas gracias. |
#4
|
||||
|
||||
Hola
Segun entiendo lo que haces es una consulta a ciertos campos de las dos tablas y con esta consulta pretendes que se actualicen estos campos con la informacion que le introduzcas. Si es asi tienes que tomar en cuenta varias cosas. 1- una consulta no se puede modificar. 2- para modificar campos de una tabla se tiene que tener en cuenta los campos clave de la misma de lo contrario no actualizara. 3- te recomiendo hacer un update para cada tabla, asi podras hacer las modificaciones facilmente y a los campos que te interesen. 4- Usa parametros. Si me equivoco me lo dices. Saludos |
#5
|
||||
|
||||
Cita:
¿Como es que empleas la consulta SELECT para llenar una tabla? ¿Que no es que se necesita un INSERT? No termino de comprender lo que deseas hacer... Tomate el tiempo que necesites para describir mejor tu problema. Aportando todo detalle que esté a tu alcance para que podamos comprenderte. Saludos, |
#6
|
|||
|
|||
Bueno tratare de ser más explicito,
Mi problema es que no puedo lograr el mismo efecto de la cosulta que anteriormente expuse en delphi, ya que en access provoca un efecto deseable para mi, como le dije anteriormente quiero hacer una consulta o mejor dicho una vista en forma de consulta de tal forma que cuando el usuario introdusca un registro se llenen los datos de las tablas implicadas a continuación voy a explicar lo que sucede en el caso de access y delphi Access el usuario inserta un registro de la consulta, entra el código del producto(Tabla inventario), automáticamente cuando va a pasar al siguiente campo llena los datos de campo cdProd y descripción pero que pertenecen a la tabla relacionada pero que están el la misma consulta, este es en el caso de que en la tabla producto este el codProd tecleado, pero si no se encuentra el usuario tentdrá que teclearlo y mediante esto la tabla producto asimila lo que se tecleo. Perfecto esot es lo que quiero Delphi El usuario inserta un registro en la consulta, entra el codProd(Tabla inventario), en este caso Si el codigo tecleado se encuentra en la tabla producto, no lo llena automáticamente, solamente cuando posteo , cierro la consulta y vuelo abrir, en el otro caso si el usuario teclea y no se encuentra ese cdProd en (Producto) y vuelve a teclear cdProd pero para (producto) da un error pues no puden aber dos registros con los mismos valores ya que CdProd es llave de la tabla Producto. Le pongo a disposición nuevamente el diseño para que puedan entender: Almacen(CodAlm, descrip) Inventario(CodAlm, CodProd, Cantidad) Producto(CdProd, Descrip) Aclaración: para Delphius La consulta no es de acción es de selección pero sirve como vista de los registro para que los usuario inserten o modifiquen los datos de las tablas implicadas. para carnal Si puedo utilizar parámetros, lo que en el ejemplo que puse no lo especifique para que fuerta más sencilla, pero puede ser un parámetro para CodAlm, en una relación Master - Detail. Saludos y gracias por su precupación |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Varios informes en uno | jonmendi | Impresión | 2 | 02-08-2006 10:47:37 |
varios update | jam888 | MS SQL Server | 4 | 20-12-2005 13:21:13 |
uso de varios DetailBands | i_berbeu | Impresión | 1 | 19-09-2005 08:30:35 |
varios count | pepe2000 | SQL | 7 | 16-02-2005 18:16:51 |
agrupar de a 1 y varios | raudelink | SQL | 3 | 16-11-2004 00:58:11 |
|