Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-01-2008
faraonDX faraonDX is offline
Miembro
 
Registrado: jun 2007
Posts: 24
Poder: 0
faraonDX Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 23-01-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 26
Caral Va por buen camino
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
Responder Con Cita
  #3  
Antiguo 25-01-2008
faraonDX faraonDX is offline
Miembro
 
Registrado: jun 2007
Posts: 24
Poder: 0
faraonDX Va por buen camino
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.
Responder Con Cita
  #4  
Antiguo 25-01-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 26
Caral Va por buen camino
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
Responder Con Cita
  #5  
Antiguo 25-01-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 26
Delphius Va camino a la fama
Cita:
Empezado por faraonDX Ver Mensaje
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.
Hola faraonDX, hay algo en esa explicación que está faltando... y/o fallando...

¿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,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #6  
Antiguo 28-01-2008
faraonDX faraonDX is offline
Miembro
 
Registrado: jun 2007
Posts: 24
Poder: 0
faraonDX Va por buen camino
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
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

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


La franja horaria es GMT +2. Ahora son las 06:56:23.


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