Ver Mensaje Individual
  #7  
Antiguo 28-12-2010
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Reputación: 26
BlueSteel Va por buen camino
Ya...

Mira con dicho componente utilizo lo siguiente....

En el Evento FormCreate del Formulario donde estoy utilizando el componente pongo este codigo

Código Delphi [-]
Datos.ItemsContrato.Active := True; 
Datos.ItemsContrato.EmptyTable; 
Datos.ItemsContrato.Refresh; 
// Esto es para asegurarme de que no tenga basura...

Para Insertar un Registro realizo lo siguiente
Código Delphi [-]
Datos.ItemsContrato.Append; 
Datos.ItemsContrato.FieldByName('Ite_Id').AsString := Datos.AQ_Abono['Abo_Id']; 
Datos.ItemsContrato.FieldByname('Ite_Asiento').AsString := vAsi.Text; 
Datos.ItemsContrato.FieldByName('Ite_Sigla').AsString := Datos.AQ_ValorUbicacion['Ubi_Sigla']; 
Datos.ItemsContrato.FieldByName('Ite_Ubicacion').AsString := Datos.AQ_ValorUbicacion['Ubi_Detalle']; 
Datos.ItemsContrato.FieldByName('Ite_Valor').AsCurrency := Datos.AQ_ValorUbicacion['Tem_Valor']; 
Datos.ItemsContrato.Post;

Para buscar un registro que ya he ingresado, realizo esto

Código Delphi [-]
If Datos.ItemsContrato.Locate('Ite_Id',StrToInt(Datos.AQ_Abono['Abo_Id']),[]) Then    
Begin         
      ShowMessage('Ya existe un registro con dicho código----');         
      // Aqui solo limpio e ingreso otro codigo... esto es por que en mi sistema no se puede repetir un codigo (son asientos de un estadio numerados)
      vAsi.Clear;
      vAsi.SetFocus;
      Sw_1:=0;
End;

Para Eliminar un registro, utilizo lo siguiente (se supone que estoy posicionado en el registro a eliminar)

Código Delphi [-]
Try
    If MessageDlg('Seguro de borrar el Asiento '+#13+IntToStr(Datos.ItemsContrato['Ite_Asiento'])+' de '+Datos.ItemsContrato['Ite_Ubicacion'], mtConfirmation, [mbYes, mbNo], 0) = mrYes Then
       Begin
             sSub.AsCurrency := sTot.AsCurrency - Datos.ItemsContrato['Ite_Valor'];
             sTot.AsCurrency := sSub.AsCurrency;
             Datos.ItemsContrato.Delete;
             Sw_2 := Sw_2 - 1;
       End;
Except
       ShowMessage('No existen registros para eliminar');
End;

Solo mencionar lo siguiente....

Cuando en mi programa de factura ingreso un codigo que ya existe en la tabla de memoria, digo que ya existe y que si lo quiere modificar, entonces paso todos los datos del registro a variables, elimino el registro de la tabla temporal, traspaso los datos de las variables a las variables de ingreso de items... y me evito el actualizar un registro y hacer más engorroso el sistema.

Tambien te menciono que el componente lo tengo en otro formulario de tipo DataModule llamado "Datos".

Espero que esto te sirva...

Cita:
en cuanto a que no habias entrado me imagino vacaciones y a disfrutar la familia jejeje.
ojala ubiesen sido por vacaciones... mira que he tenido mucho trabajo....y de vacaciones ni hablar por estos dias, y quizas puedan ser el proximo año....

Salu2
__________________
BlueSteel

Última edición por BlueSteel fecha: 28-12-2010 a las 15:27:54. Razón: formato del codigo delphi
Responder Con Cita