Ok en el IBDataSet están definidos en los eventos AfterPost y AfterDelete coloco un CommitRetaining.
En el IBDataSet Detalle tengo lo siguiente:
SqlModify:
Código SQL
[-]
update "LISTA_CONTENIDO"
set
"SEMANA" = :SEMANA,
"FECHA_INICIO" = :FECHA_INICIO,
"FECHA_FIN" = :FECHA_FIN,
"CEDULA" = :CEDULA,
"NOMBRE" = :NOMBRE,
"TELEFONO" = :TELEFONO,
"PLACA" = :PLACA,
"MARCA" = :MARCA,
"COLOR" = :COLOR,
"MODELO" = :MODELO,
"NUMERO_LISTA" = :NUMERO_LISTA,
"PESO_INICIAL" = :PESO_INICIAL,
"PESO_FINAL" = :PESO_FINAL,
"PESO_CIBICO" = :PESO_CIBICO,
"ORDEN_DESPACHO" = :ORDEN_DESPACHO,
"TIPO_MATERIAL" = :TIPO_MATERIAL
where
"SEMANA" = :OLD_SEMANA and
"FECHA_INICIO" = :OLD_FECHA_INICIO and
"FECHA_FIN" = :OLD_FECHA_FIN
SqlInsert:
Código SQL
[-]
insert into "LISTA_CONTENIDO"
("SEMANA", "FECHA_INICIO", "FECHA_FIN", "CEDULA", "NOMBRE",
"TELEFONO", "PLACA", "MARCA",
"COLOR", "MODELO", "NUMERO_LISTA", "PESO_INICIAL", "PESO_FINAL",
"PESO_CIBICO",
"ORDEN_DESPACHO", "TIPO_MATERIAL")
values
(:SEMANA, :FECHA_INICIO, :FECHA_FIN, :CEDULA, :NOMBRE, :TELEFONO,
:PLACA,
:MARCA, :COLOR, :MODELO, :NUMERO_LISTA, :PESO_INICIAL, :PESO_FINAL,
:PESO_CIBICO, :ORDEN_DESPACHO, :TIPO_MATERIAL)
SqlDelete:
Código SQL
[-]
delete from "LISTA_CONTENIDO"
where
"SEMANA" = :OLD_SEMANA and
"FECHA_INICIO" = :OLD_FECHA_INICIO and
"FECHA_FIN" = :OLD_FECHA_FIN
SqlRefresh:
Código SQL
[-]
Select
"SEMANA",
"FECHA_INICIO",
"FECHA_FIN",
"CEDULA",
"NOMBRE",
"TELEFONO",
"PLACA",
"MARCA",
"COLOR",
"MODELO",
"NUMERO_LISTA",
"PESO_INICIAL",
"PESO_FINAL",
"PESO_CIBICO",
"ORDEN_DESPACHO",
"TIPO_MATERIAL"
from "LISTA_CONTENIDO"
where
"SEMANA" = :SEMANA and
"FECHA_INICIO" = :FECHA_INICIO and
"FECHA_FIN" = :FECHA_FIN
SqlSelect:
Código SQL
[-]
select * from LISTA_CONTENIDO where
SEMANA = :SEMANA and
FECHA_INICIO = :FECHA_INICIO and
FECHA_FIN = :FECHA_FIN
En el IBDataSet Maestro tengo lo siguiente:
SqlModify:
Código SQL
[-]
update "LISTA"
set
"SEMANA" = :SEMANA,
"FECHA_INICIO" = :FECHA_INICIO,
"FECHA_FIN" = :FECHA_FIN,
"OBS" = :OBS
where
"SEMANA" = :OLD_SEMANA and
"FECHA_INICIO" = :OLD_FECHA_INICIO and
"FECHA_FIN" = :OLD_FECHA_FIN
SqlInsert:
Código SQL
[-]
insert into "LISTA"
("SEMANA", "FECHA_INICIO", "FECHA_FIN", "OBS")
values
(:SEMANA, :FECHA_INICIO, :FECHA_FIN, :OBS)
SqlDelete:
Código SQL
[-]
delete from "LISTA"
where
"SEMANA" = :OLD_SEMANA and
"FECHA_INICIO" = :OLD_FECHA_INICIO and
"FECHA_FIN" = :OLD_FECHA_FIN
SqlRefresh:
Código SQL
[-]
Select
"SEMANA",
"FECHA_INICIO",
"FECHA_FIN",
"OBS"
from "LISTA"
where
"SEMANA" = :SEMANA and
"FECHA_INICIO" = :FECHA_INICIO and
"FECHA_FIN" = :FECHA_FIN
SqlSelect:
Código SQL
[-]
select * from "LISTA" order by "SEMANA"
Ahora bien, la tabla maestra contiene datos de definición de listas:
Semana====
=>Campo Relación
Fecha_Inicio=
=>Campo Relación
Fecha_Fin===
=>Campo Relación
La tabla detalle contiene detalles de la lista como identificacion de vehiculos y su chofer:
Semana=
====>Campo Relación
Fecha_Inicio=
=>Campo Relación
Fecha_Fin===
=>Campo Relación
Placa
Peso_Inicial
Peso_Final
{datos del vehiculo}
Cedula
{datos del chofer}
El código delphi lo tengo cuando leo los campos Peso_Inicial y Peso_Final en la tabla detalleis es:
Código Delphi
[-]
dm.ibds_Lista_despacho.Edit;
dm.ibds_Lista_despacho.FieldByName('peso_inicial').AsInteger:=StrToInt(LabeledEdit5.Text);
dm.ibds_Lista_despacho.Post;
dm.ibds_Lista_despacho.Close;
dm.ibds_Lista_despacho.Open;
dbgrid3.Refresh;
Gracias, por la atención.
