Есть ли способ изменить тип данных по умолчанию при импорте файла Excel в Access? (Я, кстати, использую Access 2003).
Я знаю, что иногда у меня есть свобода назначать любой тип данных каждому импортируемому столбцу, но это может быть только тогда, когда я импортирую файлы, отличные от Excel.
Обновлено: Для ясности, я понимаю, что в процессе импорта есть шаг, на котором вам разрешено изменить тип данных импортированного столбца.
Собственно, это то, о чем я спрашиваю. По какой-то причине - может быть, это всегда файлы Excel, может быть, есть что-то еще - мне иногда не разрешается изменять тип данных: раскрывающийся список неактивен, и мне просто нужно жить с любым типом данных, который Access считает правильным.
Например, я просто попытался импортировать файл Excel большого размера (12000+ строк, ~ 200 столбцов) в Access, где столбец № 105 (или что-то подобное) был заполнен в основном числами (коды: 1=foo, 2=bar и т. д.), Хотя там есть несколько альфа-кодов тоже (A = бу, B = далеко и т. д.). Access предположил, что это тип данных Number (даже после того, как я изменил значение Format в самом файле Excel), и поэтому выдал мне ошибки в этих альфа-кодах. Если бы мне разрешили изменить тип данных при импорте, это избавило бы меня от некоторых проблем.
Я прошу чего-то, чего не может делать Access, или я чего-то упускаю? Спасибо.
Обновлено: Ниже приведены два полезных совета. Сохранение файла Excel в виде CSV и последующий импорт, который работает хорошо и просто, как говорит Крис OC. Совет по сохранению спецификации импорта также очень полезен. Однако я выбрал ответ параметра реестра DK как «Принятый ответ». Мне он понравился как ответ, потому что это одноразовый шаг, который можно использовать для решения моей основной проблемы (из-за того, что Access неправильно назначил тип данных). Короче говоря, это решение не позволяет мне самостоятельно изменять тип данных, но оно позволяет Access точно угадать тип данных, что сокращает количество проблем.


Доступ сделает это.
В процессе импорта вы можете определить тип данных каждого столбца.
Этот май может быть вызван настройками драйвера Excel Jet по умолчанию. Проверьте следующий раздел реестра и измените его значение с 8 по умолчанию на 0, что означает «угадать тип данных столбца на основе всех значений, а не только первых 8 строк».
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet.0\Engines\Excel]
"TypeGuessRows"=dword:00000000
Пожалуйста, скажите, работает ли это.
Есть несколько способов сделать это. Самый простой способ - преобразовать файл .xls в файл .csv в Excel, чтобы вы могли импортировать в Access с помощью мастера импорта текста, который позволяет вам выбирать типы данных для каждого столбца во время импорта.
Другое преимущество этого заключается в том, что импорт файла csv (или текстового) выполняется так намного быстрее, чем импорт файла xls. Если вы собираетесь выполнить этот импорт более одного раза, сохраните параметры настройки импорта как спецификацию импорта. (В мастере импорта текста нажмите кнопку «Дополнительно ...» в левом нижнем углу, затем нажмите «Сохранить как» и укажите имя спецификации, чтобы сохранить только что внесенные изменения.)
Access может делать то, что вам нужно, но для этого нет простого способа. Вам придется управлять некоторыми наборами записей, один из которых является вашими данными Excel, а другой - вашей последней таблицей Access. Когда оба набора записей открыты, вы можете передавать данные из одного набора записей в другой, просматривая данные Excel и добавляя их в таблицу Access. На этом этапе можно будет изменить тип данных по запросу.
При импорте из файлов CSV вы также можете взглянуть на schema.ini, вы обнаружите, что с его помощью вы можете контролировать каждый аспект процесса импорта.
Access позволит вам указать тип данных в процессе импорта. проблема заключается в процессе «Добавить» в следующие разы, он не будет спрашивать об импорте в тип данных и забудет, что вы его изменили. Я думаю, что это ошибка в MS Access.
откройте свой файл Excel. На вкладке «Главная» измените формат с «Общий» на «Текст». затем импортировать в доступ
Привет Дипак. В вашем ответе отсутствуют подробности и примеры. Пожалуйста, проверьте, как писать классные ответы здесь: stackoverflow.com/help/how-to-answer
Что ж, это действительно работает в том, что Access теперь более разумно угадывает тип данных. Однако у меня все еще нет возможности изменить тип данных на все, что мне угодно, во время процесса импорта. Однако я понимаю, что у меня может не быть другого выхода. Если это так, я приму это как ответ.