Quote Originariamente inviata da mauro152 Visualizza il messaggio
Buongiorno a tutti, è la prima volta che scrivo in un forum e spero di non commettere errori madornali. Scusate fin d'ora altrimenti.
Spero che qualcuno possa aiutarmi a risolvere un problema. Devo copiare circa 5000 record in una tabella access usando vb 2010.
L'inserimento sono riuscito a farlo. Il problema è che ci mette alcuni minuti. Se faccio la stessa operazione dal db con una semplice query di accodamento impiego circa 2 secondi. qualcuno potrebbe spiegarmene il motivo?
il codice che ho creato è questo:
'UPDATE Tabella TAGLI Dim TAGLI AsNewOleDbDataAdapter("SELECT * FROM 10_20_TAGLI_NEW", xc)
Dim CORREZIONI AsNewDataSet TAGLI.Fill (CORREZIONI, "10_20_TAGLI_NEW")
Dim builder1 AsOleDbCommandBuilder = NewOleDbCommandBuilder(TAGLI)
TAGLI.InsertCommand = builder1.GetInsertCommand
Dim Tagli_New AsDataTable = CORREZIONI.Tables("10_20_TAGLI_NEW")
Dim data AsDate = DateTime.MinValue
data = Nothing
Try
For i1 = 1 To Numero_Barre
For i2 = 1 To BODY_XML(i1).Tot_cut
Tagli_New.Rows.Add(NewObject() {......})
Next
Next
TAGLI.Update(Tagli_New)

La tabella ha 58 campi. Grazie per la pazienza
Grazie mille per la risposta.
Ho provato a togliere il try ma il risultato non cambia. Ho anche guardato il link che mi hai inviato ma non mi sembra di fare una cosa completamente diversa da quelle istruzioni. L'unica cosa diversa è che aggiungo un record con un'unica istruzione anziché passare campo per campo con il databindings.
Ho anche l'impressione che il programma rallenti ad ogni passaggio se per esempio lancio la procedura più volte.......