Ver Mensaje Individual
  #7  
Antiguo 30-01-2008
miss flakita miss flakita is offline
Miembro
 
Registrado: ene 2008
Posts: 14
Reputación: 0
miss flakita Va por buen camino
Gracias Delphius muy amable de hecho si me dieron la guia peroooo no tengo chansilla de leerla, eje...

Bueno mira estoy trabajando con interbase en monousuario y en los eventos de las tablas tengo lo siguiente:

tabla del encabezado
After Post
if (datos.TBLORDENCOMPRA.State=DsEdit) then
begin
datos.TBLORDENCOMPRASUBTOTAL.Value:=datos.TBLORDENCOMPRASUBTOTAL.Value+importe;
datos.TBLORDENCOMPRATOTAL.value:=datos.TBLORDENCOMPRASUBTOTAL.value*0.15;
datos.TBLORDENCOMPRA.post;
datos.TBLORDENCOMPRA.refresh;
end;
// calculo importes y totales

OnnewRecord
cont:=0;
renglones:=1;
datos.TBLORDENCOMPRASUBTOTAL.Value:=0;
datos.TBLORDENCOMPRATOTAL.Value:=0;
importe:=0;
//inicializo variables

en la tabla de detalles....
After post
ren:=datos.tordenDetallesNDETALLES.value;
DATOS.TBLFOLIOS.Edit;
datos.TBLFOLIOSFOLIO.Value:=ren;
DATOS.TBLFOLIOS.Post;
datos.TBLFOLIOS.Refresh;
cont:=cont+1;
// tengo el contador para el control de los renglones del dbgrid, ke por cierto sale un error medio extraño aqui. Ademas de controlo los folios

Before Post
if cont=6 then
begin
datos.tordenDetalles.cancel;
error();
end else
if (datos.tordenDetalles.State=dsinsert)then
begin
datos.tordenDetallesIMPORTE.value:=datos.tordenDetallesCANTIDAD.value*datos.tordenDetallesPU.Value;
importe:=datos.tordenDetallesIMPORTE.value;
renglones:=renglones+1;
datos.TBLORDENCOMPRA.Edit;
datos.TBLORDENCOMPRASUBTOTAL.value:=datos.tordenDetallesIMPORTE.Value+datos.TBLORDENCOMPRASUBTOTAL.v alue;
datos.TBLORDENCOMPRAIVA.value:=datos.TBLORDENCOMPRASUBTOTAL.Value*0.15;
datos.TBLORDENCOMPRATOTAL.Value:=datos.TBLORDENCOMPRASUBTOTAL.value+datos.TBLORDENCOMPRAIVA.value;
end;

y fnalmente OnNewRecord
if (datos.tordenDetalles.eof) then
begin
datos.tordenDetallesRENGLONES.Value:=renglones;
ren:=datos.TBLFOLIOSFOLIO.VALUE;
datos.tordenDetallesNDETALLES.value:=ren+1;
datos.REL_UN_OCNORDEN.Value:=datos.TBLORDENCOMPRANORDEN.Value;
datos.REL_EMP_OCNORDEN.Value:=datos.TBLORDENCOMPRANORDEN.Value;
datos.REL_UN_OCNRENGLON.Value:=renglones;
datos.REL_EMP_OCNCARgo.Value:=renglones;
end;
if ((datos.tordenDetallesCANTIDAD.value=0)or (datos.tordenDetallesCANTIDAD.IsNull=true))then
begin
datos.tordenDetallesCANTIDAD.value:=1;
end;
if ((datos.tordenDetallesPU.value=0)or(datos.tordenDetallesPU.IsNull=true))then
begin
datos.tordenDetallesPU.Value:=1;
end;

y el error ke me sale al tratar de modificar uno de los renglones del dbgrid ke esta relacionado con la tabla detalles es:

Proyect LAPIMI.exe raised Exception class EDataBaseError with message 'Tordendetalles: Dataset not in Edit or Insert mode'
Responder Con Cita