#ms-access
Вопрос:
Я пытаюсь импортировать файл с номерами заказов, которые имеют значения, превышающие 9 миллиардов, в доступ.
Я уже понял, что мне нужно было переключиться с Access 2013 на Access 2016, чтобы включить «Поддержку типа данных Bigint для связанных/импортированных таблиц». Это позволило использовать тип данных большого числа в базе данных Access.
На данный момент я могу вручную вводить Большие числа в Access, и все работает нормально, но когда я пытаюсь импортировать файл .csv с большими числами, я получаю ошибки преобразования данных для Больших чисел (и только для Больших чисел).
В прошлом я сталкивался с проблемой, когда текстовые столбцы, начинающиеся с того, что казалось числом в первой строке, приводили к ошибкам преобразования фактических текстовых значений, поэтому я попытался поместить порядковые номера большого числа в верхней части файла, и это не сработало.
Может ли кто-нибудь подтвердить, что мастер импорта Access 2016 не может импортировать значения больших чисел?
Если нет, то кто-нибудь успешно использовал мастер импорта, чтобы получить доступ к большому количеству файлов? Как вам удалось этого добиться?
Ответ №1:
На самом деле, вы можете использовать 20-летнюю версию access, и она может обрабатывать номера с 28 цифрами.
И если вы можете ввести такие цифры вручную, данные будут перепутаны, содержат лишний мусор или лишние символы. Так что нет, обновление не исправит по волшебству плохие отформатированные данные.
Я бы подумал, возможно, об импорте данных и использовании, скажем, текстового столбца для этих данных, а затем, возможно, посмотрю, сможете ли вы удалить мусор.
но, если вы хотите попробовать колонку большего размера, попробуйте валюту. и если вы хотите ДЕЙСТВИТЕЛЬНО ОГРОМНУЮ ГРОМАДИНУ, то вы можете использовать это:
Как вы можете видеть выше, это 18 цифр в длину!!!!
Таким образом, если импорт не выполняется с вышеизложенным, то попытка использовать ГОРАЗДО меньший большой int здесь вам совсем не поможет-совсем нет.
Итак, попробуйте выше — посмотрите, сработает ли это.
Однако тот факт, что вы можете вводить большие значения вручную, означает, что проблема здесь в беспорядочных данных, а не в том, что числа слишком велики.
Возможно, вам придется согласиться на импорт этого столбца в виде текста, а затем выполнить какой-либо запрос на обновление или даже какой-либо код VBA, чтобы очистить или удалить ненужный мусор и символы или даже, возможно, лишние пробелы и т. Д.
Таким образом, вам не нужно менять доступ, чтобы получить и разрешить вам работать с большими числами. «Основная» цель и идея, лежащие в основе этого большего числа, на самом деле направлены на улучшение поддержки SQL server, и это не так уж много, если вообще новая функция, предназначенная для работы с большими числами (это скорее побочный продукт первой цели).
Комментарии:
1. Интригующая теория, но я только что создал простой файл .txt с заголовком столбца и номером «98789123584». Я попытался импортировать его в новую таблицу, я попытался импортировать в существующую таблицу больших чисел, и по вашему предложению я попытался импортировать в таблицу чисел (десятичных, 18), и все три вышли с ошибкой, сославшись на ошибку преобразования данных. Так что не похоже, что ваше объяснение является точным, и я все еще не могу получить данные через импортера.
2. Для пущей убедительности я просто попытался изменить столбец на текст и импортировать номер. Ошибка преобразования данных. Я бы предположил, что это связано с тем, что мастер импорта идентифицирует значение как числовое, но при преобразовании числового в строковое значение превышает 3 миллиарда, поэтому возникает ошибка… так что ты. Все еще нет обходного пути, чтобы заставить мастера импорта доступа принять число, превышающее 3 миллиарда.
3. Попробуйте использовать тип данных валюты. Он увеличится примерно до 15 цифр. Если это не сработает, то большой int также не сработает. Затем просто импортируйте этот столбец в виде строки — вам нужно выполнить уборку дома с этими данными. Но тип данных валюты будет поддерживать довольно большие числа. Если импорт валютных данных завершится неудачно, то большой ввод int также завершится неудачно. Как уже отмечалось, затем вам необходимо импортировать этот столбец в виде текста. Найдите данные-нарушители, а затем отправьте их в тип данных валюты, десятичный тип или большой тип int, если вы обновите. Однако, если тип данных валюты не работает, то проблема не в размере числа.