Задать вопрос

Как задать тип данных при импорте из EXCEL с помощью VBA Access?

В Access делаю функцию, которая будет импортировать файл excel в базу данных. Сейчас использую следующий алгоритм:
1) Прямой запрос к excel файлу и сохранение результатов в таблицу access
2) Из этой таблицы запросом обновляю нужную мне таблицу

В процессе возникла проблема: есть поля, где текстовые данные, длина которых может быть от 0 до 1000 символов. А access распознает эти поля как текстовые и подрезает их до 255 символов.

Если импортировать файл штатной функцией, там можно задать для каждого поля свой тип данных, и тогда данные не теряются. Можно ли такое реализовать в VBA? Если можно, то как?
  • Вопрос задан
  • 3540 просмотров
Подписаться 4 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Инженер по тестированию
    5 месяцев
    Далее
  • Яндекс Практикум
    Java-разработчик
    10 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик расширенный
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
@rosperitus
Нет возможности посмотреть Ваш способ, но может Вас натолкнет в нужном направлении, то, чтобы текст не обрезался, поле в которое нужно вставлять текст превышающий длину 255, должен быть тип MEMO
Ответ написан
Комментировать
@MadFortune Автор вопроса
Да знаю, я пробовал делать запрос на добавление в таблицу с уже установленными полями данного типа. Но обрезка все равно происходит. Единственная возможность для импорта это сделать это в ручную и задать тип МЕМО в процессе импорта.

В итоге пришлось убрать красивый импорт по кнопке. И сделать заплатку: импорт в ручную, а затем макрос обновляет данные=(
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы