Ver Mensaje Individual
  #2  
Antiguo 07-03-2008
whatson whatson is offline
Miembro
 
Registrado: dic 2007
Posts: 19
Reputación: 0
whatson Va por buen camino
Question Tomé la desición de exportar a la tabla primero

De nuevo gracias por su tiempo.

Tengo un proble ma para exportar desde excel
Me puediera ayudar con este codigo para localizar la causa de que Me este mandando error en que se "estan duplicando los datos en el campo llave 1". ( SQL Error: Duplicate entry 'For Key 1').





Código Delphi [-]
procedure TFormPrincipal.BitBtnCargaClick(Sender: TObject);
var Hoja : OleVariant;
     nFil  : Integer; 
     xVal : String;
begin
      // Crea objeto Excel.
      try
      Excel := CreateOleObject('Excel.Application');
      except
           showmessage('No se pudo crear el Objecto Excel.');
           Exit;
      end;
      Excel.Workbooks.Open('C:\ExportaLista.xls'); // Abre libro Excel
      Hoja := Excel.Worksheets.Item['DATOS']; // Abre Hoja 'Datos'.
     Hoja.Activate; 
     with FormPrincipal.ZTableProdsPaso do
         begin
            if Active then
               Close;
               Open;
               nFil:= 2;
               repeat
                 FormPrincipal.ZQueryProds.Open;
                 FormPrincipal.ZQueryProds.Insert;
                 FormPrincipal.ZQueryProds.FieldByName('ARTICULO').asString := Excel.Cells[nFil,1].Value;
                 FormPrincipal.ZQueryProds.FieldByName('DESCRIP').asString := Excel.Cells[nFil,2].Value;
                 FormPrincipal.ZQueryProds.FieldByName('LINEA').asString := Excel.Cells[nFil,3].Value;
                 FormPrincipal.ZQueryProds.FieldByName('FAMILIA').asString := Excel.Cells[nFil,4].Value;
                 FormPrincipal.ZQueryProds.FieldByName('SUBFAMILIA').asString := Excel.Cells[nFil,5].Value;
                 FormPrincipal.ZQueryProds.FieldByName('COSTO').asString := Excel.Cells[nFil,6].Value;
                 FormPrincipal.ZQueryProds.FieldByName('LISTAPROVEEDOR').asString := Excel.Cells[nFil,7].Value;
                 FormPrincipal.ZQueryProds.Post;
 
                 nFil:= nFil + 1;
                 xVal:= VarToStr(Excel.Cells[nFil,7].Value);
                 until (xVal = '0');

            // Cierra archivo excel.
            try
            Excel.Quit;
            except
                    ShowMessage('Excel no se pudo finalizar.');
                    Excel.Visible := True;
            end;
     end;
end;



Gracias por sus comentarios o sugerencias.

Última edición por whatson fecha: 07-03-2008 a las 17:45:52.
Responder Con Cita