Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   IBDataSet Detalle (https://www.clubdelphi.com/foros/showthread.php?t=16124)

castroruiz2001 17-11-2004 01:31:33

IBDataSet Detalle
 
Saludos a todo el foro.

Tengo un par de IBDataSet Maestro-Detalle

Etos serian los registros de un detalle
>>> 1 >>> Rojo >>> 2.4
>>> 2 >>> Azul >>> 3.4
>>> 3 >>> Cafe >>> 1.6

Si yo modifico o inserto un registro en el detalle p.e.
>>> 2 >>> Verde >>> 2.4

Me actualiza por completo los registros del detalle
>>> 1 >>> verde >>> 2.4
>>> 2 >>> verde >>> 2.4
>>> 3 >>> verde >>> 2.4

creo haber hecho bien la relacion maestro detalle con los componentes pues en la sentencia SelectSQL del detalle tengo lo siguiente...
Select * from Detalle where Clave_det = :Clave_Foranea

en la propiedad DataSource del detalle pongo el dataSet del maestro.

Si alguien pudiera decirme el error que cometo Gracias.
Pero... porfavor contestenme.

AGAG4 17-11-2004 01:55:18

Intenta esto....
 
Una pregunta... lo estas haciendo con campo LookUp para hacer referencia de la Descripcion a otra tabla???? si no es te pongo este ejemplo del Detalle:
Código SQL [-]
Select Fac.Bodega,Fac.TipoMov,Fac.Folio,Fac.Indice,Fac.ClaveArt,
Fac.Cantidad,Fac.Descto,Fac.Pventa,Fac.DesglosaI,Fac.ImpSIva,
Fac.ArtIva,Fac.ImpCIva,Fac.ArtDesc,Fac.ImpDescto,Fac.Servicios,
Inv.ClaveArt,Inv.DesArt
from TFAC_DFACTURAS Fac
Join TINV_ARTICULOS Inv on (Fac.ClaveArt=Inv.ClaveArt)
where Fac.bodega=:bodega and
Fac.tipomov=:tipomov and
Fac.folio=:folio
Con el JOIN te hace referencia a otra tabla y aprovechar para mostrar la Descripcion....

Yo intente usar Campos LookUp en el Detalle haciendo referencias a la tabla de Articulos para que me visualizara la DESCRIPCION pero me hacia un santo despapaye como te sucede a ti, por lo que mejor opte por un JOIN.

Realice pruebas con los componentes FibPlus y lo mismo me hacia un despapaye, Si de tanto buscarle lo corriges usando campos LOOKUP te agradecería mucho que me dijeras como le hicistes.

Saludos.

castroruiz2001 17-11-2004 16:53:34

creo que dentro de la desesperacion que me aqueja cite las cosas mal... por lo que no estoy utilizando campos lookup

la actualizacion que trato de explicar que me hace es la siguiente...
>>> 2 >>> verde >>> 2.4
>>> 2 >>> verde >>> 2.4
>>> 2 >>> verde >>> 2.4


ahora la estructura de mis tablas es la siguiente...

CREATE TABLE ETIQUETAS (
ETIQUETA_ID ETIQUETA_DEF NOT NULL,
ETIQUETA_IMAGEN BLOB SUB_TYPE 0 SEGMENT SIZE 512,
ETIQUETA_DESCRIPCION VARCHAR(60),
ETIQUETA_CLIENTE_ID CLIENTE_DEF NOT NULL,
ETIQUETA_MATERIAL VARCHAR(60),
ETIQUETA_ANCHO DOUBLE PRECISION,
ETIQUETA_ALTO DOUBLE PRECISION,
ETIQUETA_EJE SMALLINT,
ETIQUETA_CENTROS VARCHAR(15),
ETIQUETA_ROLLOS VARCHAR(15),
ETIQUETA_TINTAS SMALLINT,
ETIQUETA_ESTADO CHAR(1) NOT NULL,
CONSTRAINT PK_ETIQUETA_ID PRIMARY KEY (ETIQUETA_ID)
);

CREATE TABLE ETIQUETAS_DET (
ETIQUETA_ID ETIQUETA_DEF NOT NULL CONSTRAINT ETIQUETAS_REF
REFERENCES ETIQUETAS(ETIQUETA_ID)
ON UPDATE CASCADE ON DELETE CASCADE;
ETIQUETA_ESTACION VARCHAR(5) NOT NULL,
ETIQUETA_TINTA_UV BOOLEAN_DEF,
ETIQUETA_PANTONE VARCHAR(20),
ETIQUETA_ANIFLOX DOUBLE PRECISION,
ETIQUETA_RASQUETA BOOLEAN_DEF,
ETIQUETA_BCM DOUBLE PRECISION
);

castroruiz2001 17-11-2004 23:54:28

Te agradesco Alfredo por tu comentario ya que al igual que tu tuve que agregar un campo condicionante mas dentro del where...

update ETIQUETAS_DET
set
ETIQUETA_ID = :ETIQUETA_ID,
ETIQUETA_ESTACION = :ETIQUETA_ESTACION,
ETIQUETA_TINTA_UV = :ETIQUETA_TINTA_UV,
ETIQUETA_PANTONE = :ETIQUETA_PANTONE,
ETIQUETA_ANIFLOX = :ETIQUETA_ANIFLOX,
ETIQUETA_RASQUETA = :ETIQUETA_RASQUETA,
ETIQUETA_BCM = :ETIQUETA_BCM
where (ETIQUETA_ID = :OLD_ETIQUETA_ID) and
(ETIQUETA_ESTACION = :OLD_ETIQUETA_ESTACION)

La clave fue el segundo condicionante "= :OLD_Etiqueta_Estacion"

Gracias.


La franja horaria es GMT +2. Ahora son las 14:45:31.

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