Ver Mensaje Individual
  #3  
Antiguo 22-10-2005
perillan perillan is offline
Miembro
 
Registrado: feb 2005
Posts: 82
Reputación: 20
perillan Va por buen camino
Te mando el codigo ya que esta un poco liado y nos podremos entender mejor

Código Delphi [-]

Comienzo para insertar un registro

procedure TPaneldeAltas.BitBtn130Click(Sender: TObject);

begin

dmmain.DataCompanies.active:=TRUE; //Tabla principal y maestra

dmmain.DataLocations.active:=TRUE;//Tabla principal hija

dmmain.DataCompanies.append;

dmmain.DataCompaniesBASEDATOS.Value:='CON NÚMERO (Z)';

DBEdit1.SetFocus;

end;



Cuando termino de meter los datos pulso boton

procedure TPaneldeAltas.BitBtn2Click(Sender: TObject);

var

fecha,fecha1,fecha2:string;

BEdit1,BEdit5,BEdit2,BEdit55,BEdit7,BComboBox6,BEdit9,BEdit10,BEdit11:string;

BEdit12,BEdit13,BEdit14,BEdit15,BEdit17,BEdit18,BEdit20,BComboBox1:string;

BComboBox5,BEdit23,BEdit24,BEdit3,BEdit4,BEDIT261:string;



begin

 fecha:=MaskEdit2.Text;

 fecha1:=MaskEdit3.Text;

 fecha2:=DateToStr(now);

  edit2.Text:=DateToStr(now);

//Asigno valores para las altas en la tabla altas

 bedit1:=DBEdit1.text;

bedit5:=DBEdit5.text;

 bedit2:=DBEdit2.text;

 bedit55:=DBEdit55.text;

 bedit7:=DBEdit7.text;

 bcombobox6:=DBComboBox6.text;

 bedit9:=DBEdit9.text;

 bedit10:=DBEdit10.text;

 bedit11:=DBEdit11.text;

 bedit12:=DBEdit12.text;

 bedit13:=DBEdit13.text;

 bedit14:=DBEdit14.text;

 bedit15:=DBEdit15.text;

 bedit17:=DBEdit17.text;

 bedit18:=DBEdit18.text;

 bedit20:=DBEdit20.text;

 bcombobox1:=DBComboBox1.text;

 bcombobox5:=DBComboBox5.text;

 bedit23:=DBEdit23.text;

 bedit24:=DBEdit24.text;

 bedit3:=DBEdit3.text;

 bedit4:=DBEdit4.text;

 BEDIT261:=DBEdit261.Text;

 ////

 dmmain.DataCompaniesFECHARECEP.AsString:= fecha;

           dmmain.DataCompaniesFECHAENTSERVICIO.AsString:= fecha1;

           dmmain.DataCompanies.insert;

 TRY

           dmmain.IBTransaction1.COMMIT;

EXCEPT

           SHOWMESSAGE ('Hay problemas con la transacion');

dmmain.IBTransaction1.ROLLBACK;



 END;

      SHOWMESSAGE ('Registro bien Insertado'); //Se ha insetado correctamente el registro en la tabla maestra



//Empezamos a pasar datos

dmmain.IBDataSetAltas.Active:=TRUE;

dmmain.IBDataSetAltas.APPEND;



 dmmain.IBDataSetAltasBASEDATOS.Value:='CON NÚMERO (Z)';

 dmmain.IBDataSetAltasNOMBRE.value:=BEdit1;

 dmmain.IBDataSetAltasControlZ.value:=BEdit5;

 dmmain.IBDataSetAltasNCODIGO.value:=BEdit2;

 dmmain.IBDataSetAltasNMATRICULA.value:=BEdit55;

 dmmain.IBDataSetAltasNSerie.AsString:=BEdit7;

 dmmain.IBDataSetAltasRUEDASCADENAS.AsString:=BComboBox6;

 dmmain.IBDataSetAltasVALORACION.AsString:=BEdit9;

 dmmain.IBDataSetAltasNCARGO.AsString:=BEdit10;

 dmmain.IBDataSetAltasCIADESTINO.AsString:=BEdit11;

 dmmain.IBDataSetAltasBONDESTINO.AsString:=BEdit12;

 dmmain.IBDataSetAltasNACTARECEP.AsString:=BEdit13;

 dmmain.IBDataSetAltasOBSERVA1.AsString:=BEdit14;

 dmmain.IBDataSetAltasOBSERVA2.AsString:=BEdit15;

 dmmain.IBDataSetAltasOBSERVA3.AsString:=BEdit17;

 dmmain.IBDataSetAltasOBSERVA4.AsString:=BEdit18;

 dmmain.IBDataSetAltasNOS.AsString:=BEdit20;

 dmmain.IBDataSetAltasTIPOMAQUINA.AsString:=BComboBox1;

 dmmain.IBDataSetAltasSITUACINO.AsString:=BComboBox5;

 dmmain.IBDataSetAltasNMotor.AsString:=BEdit23;

 dmmain.IBDataSetAltasNCHASIS.AsString:=BEdit24;

 dmmain.IBDataSetAltasNNOC.AsString:=BEdit3;

 dmmain.IBDataSetAltasNCABECERA.AsString:=BEdit4;

 dmmain.IBDataSetAltasFECHADEALTA.AsString:=fecha2;

dmmain.IBDataSetAltasSITUACINO.AsString:= BEDIT261;

 dmmain.IBDataSetAltasFECHARECEP.AsString:= fecha;

  dmmain.IBDataSetAltasFECHAENTSERVICIO.AsString:= fecha1;



dmmain.IBDataSetAltas.Last;

 dmmain.IBTAltasBajas.COMMIT;



end;





Si se necesitan introducir datos en la tabla principal hijo entonces pulso este boton

//Cuando hay datos a introducir en la base principal/hijo

procedure TPaneldeAltas.BitBtn111Click(Sender: TObject);

begin

dmmain.DataLocations.append;

DBEdit90.SetFocus;



dmmain.IBDataSetAltas.Active:=TRUE; //Eta base es la de registo de Altas maestro

dmmain.IBDataSetAltasImple.Active:=TRUE;// Esta  de registro de altas hijo

dmmain.IBDataSetAltas.append;

end;



//Cada vez que se introduce un registro  en base principal/hijo se pulse este boton

procedure TPaneldeAltas.BitBtn20Click(Sender: TObject);

var

grabar:string;

begin

   grabar:=MaskEdit400.Text;

   if MaskEdit400.text = '  /  /  ' then

         else

      dmmain.DataLocationsFECHAALTA.AsString:=grabar;

      dmmain.DataLocations.append;

DBEdit90.SetFocus;

end;

Con este codigo se insertan todo perfectamente menos en la tabla Hijo/de la maestro altas, en la que cada vez que se introduce un nuevo registro debe grabarse aquí.

Última edición por vtdeleon fecha: 23-10-2005 a las 00:14:22. Razón: Etiqueta Delphi
Responder Con Cita