Как задать тип данных при импорте из EXCEL с помощью VBA Access?
В Access делаю функцию, которая будет импортировать файл excel в базу данных. Сейчас использую следующий алгоритм:
1) Прямой запрос к excel файлу и сохранение результатов в таблицу access
2) Из этой таблицы запросом обновляю нужную мне таблицу
В процессе возникла проблема: есть поля, где текстовые данные, длина которых может быть от 0 до 1000 символов. А access распознает эти поля как текстовые и подрезает их до 255 символов.
Если импортировать файл штатной функцией, там можно задать для каждого поля свой тип данных, и тогда данные не теряются. Можно ли такое реализовать в VBA? Если можно, то как?
Нет возможности посмотреть Ваш способ, но может Вас натолкнет в нужном направлении, то, чтобы текст не обрезался, поле в которое нужно вставлять текст превышающий длину 255, должен быть тип MEMO
Да знаю, я пробовал делать запрос на добавление в таблицу с уже установленными полями данного типа. Но обрезка все равно происходит. Единственная возможность для импорта это сделать это в ручную и задать тип МЕМО в процессе импорта.
В итоге пришлось убрать красивый импорт по кнопке. И сделать заплатку: импорт в ручную, а затем макрос обновляет данные=(
Я с помощью команды excute выполняю запрос Select, где в качестве источника указан excel файл.
В результате запроса поле уже типа Текстовое и соответственно обрезанное.
К сожалению точный код привести не могу т.к. сейчас реализовал заплатку с использованием ручного импорта. Если тут подскажут как это нормально реализовать то переделаю =)))