Автоматическое импортирование в тип поля принудительного ввода

У меня есть таблица в базе данных Microsoft Access, в которой я каждый день импортирую данные из ежедневных отчетов о производительности. Отдельное поле импортированных данных (ссылаясь на имя сайта) является текстовым полем исходных данных для большинства отчетов, однако это сочетание текстовых полей (например, сайта 00415) и числовых полей (например, 00415) для одного отчета. Когда данные хранились в Excel, я заставил числовые сайты быть текстом, поскольку некоторые из них имели начальные нули.

Таблица Access имеет тип данных как Text (и формат @ должен быть релевантным), но при импорте отчетов с числовыми сайтами я получаю ошибки импорта в строках, которые имеют текстовые записи, поскольку он пытался импортировать весь столбец в виде чисел, а не текст.

Есть ли способ принудительно импортировать поле в виде текста, даже если первая строка файла (который, я считаю, является базовым для типа поля), является числовым?

В качестве альтернативы, следует ли изменить тип поля на что-то другое, которое может обрабатывать текст и цифры, но важно оставить номер как без форматирования.

Для чего это стоит – я импортировал данные через сохраненный метод импорта, а затем с помощью сценариев со следующим сценарием и испытал эту проблему в обоих методах импорта:

 Option Compare Database Sub import_test() Dim strXls As String strXls = "C:\Users\me\Desktop\IMPORT.xlsx" DoCmd.TransferSpreadsheet acImport, , "ImportDB", _ strXls, True, "A1:Z100" End Sub 

По умолчанию Access будет проверять только первые 24 строки данных, чтобы определить предлагаемые типы полей.

Если ваши данные являются числовыми для первых 24 строк, то Access, возможно, догадался о неправильном типе данных для вашего поля. Этот тип данных сохраняется вместе с сохраненным импортом, а Access затрудняет просмотр сохраненного типа поля.

Похоже, ваша таблица настроена с помощью Short Text и @ Format. Это идеально подходит для ваших нужд.

Вам нужно убедиться, что ваш файл Excel имеет текстовые форматы для значений – особенно значения с ведущими нулями. Затем вам нужно снова запустить мастер импорта файлов Excel, но на этот раз обязательно укажите типы полей для каждого столбца, обратив особое внимание на проблемное поле. Вы можете обнаружить, что Access предполагает, что поле должно быть Double , когда это должен быть Short Text .

введите описание изображения здесь

Как только вы это сделаете, вам придется использовать подход DoCmd.RunSavedImportExport , потому что подход TransferSpreadsheet не позволяет указать какую-либо детальную информацию о типе полей для файлов Excel.

 DoCmd.RunSavedImportExport "MyImport" 

И вот некоторые текстовые значения в текстовом поле.

введите описание изображения здесь

Если у вас есть текущие проблемы, вам может потребоваться экспортировать файл Excel в текстовый формат, а затем использовать Access для импорта файла, но я сомневаюсь, что вам это нужно.

Давайте будем гением компьютера.