Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Импорт CSV файла в Access  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 5209
Надо программно импортировать файл в формате CSV в существующую таблицу.
Строка для загрузки
DoCmd.TransferText acImportDelim, , "Exports1", "c:\Users\User\Documents\exports1.csv", True, , 1251

Не хочет импортироваться
Пишет "Поле 'sku;qty;price;name' не существуетв результирующей таблице 'Exports1' ", хотя таблицу "Exports1" я создал путем ручного импортирования файла "exports1.csv". Как показать программе, что ";" - это разделитель полей?
Уже просто не знаю, где копать.

Прикрепляю базу и импортируемый файл
-------------------------------------------------------------
Мы рождены чтоб сказки сделать былью! Даже самые страшные...

К сообщению приложен файл (Конвертер1.zip - 20Kb) cкачать

Сообщение было отредактировано: 20 ноя 21, 15:03
20 ноя 21, 15:02    [22398316]     Ответить | Цитировать Сообщить модератору
 Re: Импорт CSV файла в Access  [new]
vmag
Member

Откуда: MP
Сообщений: 4229
Joss,

Фокус-покус... Переименуй свою таблицу Exports1, например в Exports2 и нажми кнопку...
Думаю ошибки не будет и появится новая таблица Exports1 с одним полем [sku;qty;price;name]...
Можно не импортировать, а прилинковать один раз руками, потом просто подсовывать разные файлы...

Сообщение было отредактировано: 20 ноя 21, 18:45
20 ноя 21, 18:40    [22398371]     Ответить | Цитировать Сообщить модератору
 Re: Импорт CSV файла в Access  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 5209
Единственное, что нашел по данной теме на этом сайте 18894888
Наверно так и придётся сделать
20 ноя 21, 18:48    [22398375]     Ответить | Цитировать Сообщить модератору
 Re: Импорт CSV файла в Access  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 5209
vmag
Joss,

Фокус-покус... Переименуй свою таблицу Exports1, например в Exports2 и нажми кнопку...
Думаю ошибки не будет и появится новая таблица Exports1 с одним полем [sku;qty;price;name]...
Можно не импортировать, а прилинковать один раз руками, потом просто подсовывать разные файлы...

Программа будет стоять на разных компьютерах в разных папках. Не подойдёт. Или надо будет заморачиваться с перелинковкой.
20 ноя 21, 18:51    [22398381]     Ответить | Цитировать Сообщить модератору
 Re: Импорт CSV файла в Access  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 5209
Ещё дали совет: считывать построчно, делить сплитом и распихивать по полям. Более универсальный способ
20 ноя 21, 19:09    [22398396]     Ответить | Цитировать Сообщить модератору
 Re: Импорт CSV файла в Access  [new]
vmag
Member

Откуда: MP
Сообщений: 4229
Joss
Ещё дали совет: считывать построчно, делить сплитом и распихивать по полям. Более универсальный способ


ну да, как обычный текстовый файл, читать по строчно, парсить и раскидывать...
А в первом случае выход только один - руками делаешь импорт, в конце акцесс спрашивает - Сохранить шаги импорта - говоришь Да и запоминаешь имя Спецификации импорта, потом указываешь это имя в своем вызове:
DoCmd.TransferText acImportDelim, "ИмяСпецификации", "Exports1", "c:\Users\User\Documents\exports1.csv", True, , 1251

не знаю как с csv, но c txt это точно работает (можешь если не прокатит, временно поменять расширение с csv на txt)
20 ноя 21, 19:56    [22398421]     Ответить | Цитировать Сообщить модератору
 Re: Импорт CSV файла в Access  [new]
vmag
Member

Откуда: MP
Сообщений: 4229
Joss
Ещё дали совет: считывать построчно, делить сплитом и распихивать по полям. Более универсальный способ


если парсить и разбрасывать, то можно не импортировать, а сразу из запроса к текстовому файлу
SELECT *
FROM [exports1.csv] IN 'c:\Users\User\Documents'[Text;HDR=No];
20 ноя 21, 21:08    [22398444]     Ответить | Цитировать Сообщить модератору
 Re: Импорт CSV файла в Access  [new]
galalex
Member

Откуда:
Сообщений: 6
Разделитель указывается в реестре:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Jet \ 4.0 \ Engines \ Text
"Format" = "Delimited(;)
или
"Format" = "TabDelimited"
Если такой ветви и значения нет, то их нужно создать.
Однако я рекомендую вам использовать ADO.Recordset через Microsoft Text ODBC Driver, подробно изложено здесь Экспорт денежного поля в формат CSV
25 ноя 21, 08:39    [22400491]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить