FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Algun consejo para copiar datos?
Hola, estoy haciendo una aplicacion que tiene que coger tablas .dbf y copiar todos sus registros en tablas .mdb.
Obtengo los datos de las tablas .dbf con un TADOQuery y las .mdb con un TTable. Pues bien, el principal problema es que el total de registros a copiar es de 400.000 aproximadamente, y tarda más de 30 minutos en completar el traspaso. Lo que quiero es saber si hay alguna otra forma de hacerlo para ir más rápido a parte de la que yo utilizo. Ésta es la funcion para copiar una de las tablas: procedure TFAssistent.VolcarAlbfaccp(); begin ADOQueryAux.Close; ADOQueryAux.SQL.Clear; ADOQueryAux.SQL.Add('SELECT fecfac, codpro, ejefac, numfac'); ADOQueryAux.SQL.Add('FROM albfaccp'); ADOQueryAux.Open; while (n_regs <= ADOQueryAux.RecordCount -1) do begin inc(n_regs); lInfo2.Caption := 'Registro: ' + IntToStr(n_regs) + ' de ' + FloatToStr(ADOQueryAux.RecordCount); BarraProgreso.Position := n_regs; TAccessDatos.Insert; TAccessDatos.FieldByName('fecfac').AsString := ADOQueryAux.Recordset.Fields.Item[0].Value; TAccessDatos.FieldByName('codpro').AsString := ADOQueryAux.Recordset.Fields.Item[1].Value; TAccessDatos.FieldByName('ejefac').AsString := ADOQueryAux.Recordset.Fields.Item[2].Value; TAccessDatos.FieldByName('numfac').AsString := ADOQueryAux.Recordset.Fields.Item[3].Value; TAccessDatos.Post; ADOQueryAux.Recordset.MoveNext; end; end; Muchas gracias. |
|
|
|