То, что вы можете сделать, выглядит примерно так:
Dim AccessConn As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Test Files\db1 XP.mdb")
AccessConn.Open()
Dim AccessCommand As New System.Data.OleDb.OleDbCommand("SELECT * INTO [ReportFile] FROM [Text;DATABASE=C:\Documents and Settings\...\My Documents\My Database\Text].[ReportFile.txt]", AccessConn)
AccessCommand.ExecuteNonQuery()
AccessConn.Close()
Отключите индексирование для затронутых таблиц перед началом загрузки, а затем восстановите индексы с нуля после завершения массовой загрузки. Восстановление индексов с нуля происходит быстрее, чем попытка поддерживать их в актуальном состоянии при загрузке большого объема данных в таблицу.
Если вы решите вставлять строку за строкой, то, возможно, захотите рассмотреть возможность использования транзакций. Мол, открыть транзакцию, вставить 1000 записей, зафиксировать транзакцию. Это должно работать нормально.