Одним из относительно утомительных (но простых) решений было бы разбить большую базу данных на меньшие базы данных, выполнить преобразование в меньшие базы данных, а затем рекомбинировать их.
Это дает дополнительное преимущество: если по какой-то причине текст является недопустимой датой в одном чанке, его будет легче найти (из-за меньшего размера чанка).
Предполагая, что у вас есть какой-то целочисленный ключ в таблице, который колеблется от 1 до (скажем) 10000000, вы можете просто выполнять запросы вроде
SELECT *
INTO newTable1
FROM yourtable
WHERE yourkey >= 0 AND yourkey < 1000000
SELECT *
INTO newTable2
FROM yourtable
WHERE yourkey >= 1000000 AND yourkey < 2000000
и т.д.
Обязательно вводите и выполняйте эти запросы отдельно, так как кажется, что Access выдаст вам синтаксическую ошибку, если вы попытаетесь запустить более одного одновременно.
Если ваши ключи - это что-то еще, вы можете сделать то же самое, но вам придется немного сложнее с предложениями WHERE.
Конечно, последнее, что нужно рассмотреть, если вы можете использовать его, - это перейти на другую базу данных, которая обладает немного большей мощностью. Я предполагаю, что у вас есть причины, по которым это нелегко, но с количеством данных, о которых вы говорите, вы, вероятно, столкнетесь с другими проблемами, а также продолжите использовать Access.
EDIT
Поскольку у вас все еще есть некоторые проблемы, вот еще некоторые подробности в надежде, что вы увидите то, что я недостаточно хорошо описал раньше:
Здесь вы можете видеть, что я создал таблицу «OutputIDrive», аналогичную той, которую вы описываете. У меня есть идентификационный тег, хотя у меня есть только три записи.
Здесь я создал запрос, перешел в режим SQL и ввел соответствующий оператор SQL. В моем случае, потому что мой запрос захватывает только значения> = 0 и
Когда я нажимаю кнопку запуска, я получаю всплывающее окно, которое сообщает / предупреждает меня о том, что должно произойти ... это помещает строку в новую таблицу. Это хорошо ... это то, что мы ищем. Я нажимаю «ОК».
Теперь наша новая таблица создана, и когда я нажимаю на нее, мы видим, что наша одна строка данных с ID = 1 была скопирована в эту новую таблицу.
Теперь вы сможете изменить имя таблицы и числовые значения в запросе SQL и запустить его снова.
Надеюсь, это поможет вам с тем, что вас сбило с толку.
РЕДАКТИРОВАТЬ 2:
Aha! Это трюк. Вы должны вводить и запускать операторы SQL по одному в Access. Если вы попытаетесь вставить несколько операторов и запустить их, вы получите эту ошибку. Итак, запустите первый, затем сотрите его, запустите второй и т. Д., И все будет в порядке. Я думаю, что это будет сделано! Я отредактировал вышесказанное, чтобы сделать его более понятным.