0 / 0 / 0
Регистрация: 19.02.2016
Сообщений: 14
|
||||||
1 | ||||||
При импорте в Access из Excel Ошибка типа данных (#Число!)20.01.2017, 04:02. Показов 12664. Ответов 23
Метки нет (Все метки)
Добрый день, есть запрос на добавление данных из файла excel, выгруженного из 1С, в базу данных MS Access, по столбцам в существующую таблицу:
Добавлено через 1 час 0 минут Я искал уже но не нашел, вот типа в этой теме примерно такая же ошибка, Как изменить тип данных поля при импорте, но суть в том что ошибка возникает на этапе выборке то есть в запросе, то есть таблица уже обновляется данными с ошибкой, получается импортировать если создается новая таблица через мастер импорта и экспорта но я там не знаю как преобразуются данные на этапе запроса.
0
|
20.01.2017, 04:02 | |
Ответы с готовыми решениями:
23
Потеря данных при импорте в Excel спасет ли Access? Ошибка при импорте данных из Excel Ошибка при импорте данных в MS Excel Ошибка формата Дата/время при импорте данных из txt в Access |
4076 / 1456 / 401
Регистрация: 07.08.2013
Сообщений: 3,629
|
|
20.01.2017, 04:12 | 2 |
надо в excel этот столбец сделать текстовым до загрузки
Добавлено через 59 секунд или же в запросе воткнуть по этому столбцу функцию преобразования данных в строку Cstr()
0
|
0 / 0 / 0
Регистрация: 19.02.2016
Сообщений: 14
|
|
20.01.2017, 04:20 [ТС] | 3 |
Выгружаю я реестр доходов и расходов, выгружается несколько десятков тысяч строк, чтобы поменять число в текст нужно выделить ячейку выбрать формат текст потом выбрать ячейку и нажать enter, если писать макрос я так подозреваю будет долгое преобразование, нельзя на этапе запроса преобразовать число в текст, как то же через мастер импорта число в текст преобразуется и без проблем, если изначально выставить его в текст.
0
|
4076 / 1456 / 401
Регистрация: 07.08.2013
Сообщений: 3,629
|
||||||
20.01.2017, 04:23 | 4 | |||||
Наверное так
0
|
0 / 0 / 0
Регистрация: 19.02.2016
Сообщений: 14
|
||||||
20.01.2017, 04:24 [ТС] | 5 | |||||
ЗЫ: Уже делал так.
0
|
4076 / 1456 / 401
Регистрация: 07.08.2013
Сообщений: 3,629
|
|
20.01.2017, 04:31 | 6 |
столбец то называть надо
Добавлено через 1 минуту а почему именно 97 значений обNULLилось Добавлено через 2 минуты попробуйте для начала просто импортировать таблицу excel прелесть этого метода в том что при импорте не правильные значения в новую таблицу не вносятся и данные о неправильных значениях попадают в отдельную таблицу (точнее координаты этих данных) Добавлено через 37 секунд можно будет просто посмотреть в excel чего с этими данными не так
0
|
0 / 0 / 0
Регистрация: 19.02.2016
Сообщений: 14
|
|
20.01.2017, 04:36 [ТС] | 7 |
Я выше писал, что первые значения число 20 (20 счет в бухгалтерии), а то значение которое не попало : 90.01.1, он не может распознать как число, и таких значений 97 штук.
Если я в самом первом значении ставлю 20. (с точкой) тогда нет проблем с загрузкой.
0
|
4076 / 1456 / 401
Регистрация: 07.08.2013
Сообщений: 3,629
|
||||||
20.01.2017, 04:49 | 8 | |||||
а можно файлик excel увидеть
Добавлено через 9 минут Ну или напишите макрос и запустите его в excel только запускайте в копии файла и выставьте свои значения констант
перед запуском макроса выделите столбец полностью и установите в нем формат ячеек Текстовый
0
|
0 / 0 / 0
Регистрация: 19.02.2016
Сообщений: 14
|
|
20.01.2017, 04:50 [ТС] | 9 |
Desktop.rar Вот база и пример excel, только в запросе отредактируйте свой путь.
0
|
4076 / 1456 / 401
Регистрация: 07.08.2013
Сообщений: 3,629
|
|
20.01.2017, 04:51 | 10 |
к сожалению у меня на работе нет акса
а файлик excel сейчас гляну
0
|
0 / 0 / 0
Регистрация: 19.02.2016
Сообщений: 14
|
|
20.01.2017, 04:52 [ТС] | 11 |
Это нужно будет заходить в excel ждать пока строки переформатируются, а хотелось бы на этапе запроса, я так понимаю что это сделать можно, если через мастер импорта добавлять новую таблицу там без проблем
0
|
4076 / 1456 / 401
Регистрация: 07.08.2013
Сообщений: 3,629
|
|
20.01.2017, 04:55 | 12 |
ну а если просто тупо - выделить столбец и выбрать формат ячеек Текстовый
не пролазит
0
|
0 / 0 / 0
Регистрация: 19.02.2016
Сообщений: 14
|
|
20.01.2017, 05:00 [ТС] | 13 |
Нет, чтобы в Excel переделать формат из числа в текст вручную надо выделить столбец и потом выделять каждую ячейку и жать Enter
0
|
7433 / 4568 / 299
Регистрация: 12.08.2011
Сообщений: 14,191
|
|
20.01.2017, 05:57 | 14 |
должен вас огорчить, вас обманули в экселе выделяете столбец и меняете формат сразу всего столбца.
Добавлено через 1 минуту у меня без всяких махинаций меняет сразу число на текст
0
|
4076 / 1456 / 401
Регистрация: 07.08.2013
Сообщений: 3,629
|
|
20.01.2017, 06:11 | 15 |
alvk,
ох не знаю дома у меня офис 10 так там проблем нету и на работе офис 2016 - тоже нету а вот раньшее в 2003 - так там как мне помнится (или уже кажется) такая проблема существовала
0
|
7433 / 4568 / 299
Регистрация: 12.08.2011
Сообщений: 14,191
|
|
20.01.2017, 06:23 | 16 |
Было сложно поменять текст на число, а не наоборот. Тогда нужно было умножать специальной вставкой на 1. Но тут на оборот же!
0
|
0 / 0 / 0
Регистрация: 19.02.2016
Сообщений: 14
|
|
20.01.2017, 06:44 [ТС] | 17 |
Я не огорчен, потому что как вы написали так не получится, нужно чтобы в Excel было число как текст, и чтобы это получилось нужно сначала поменять формат, зайти в редактирование ячейки и нажать enter, в итоге появится такой треугольник в углу зеленый который покажет что число как текст, после этого в access загрузится, по вашему методу будет таже ошибка.
Если есть сомнения, скачайте архив поменяйте путь к файлу пример в запросе, сделайте как вы предлагаете и посмотрите что получится.
0
|
7433 / 4568 / 299
Регистрация: 12.08.2011
Сообщений: 14,191
|
|
20.01.2017, 07:30 | 18 |
У меня есть сомнения, что вы прочли мою подпись, я её не для красоты сделал.
Файл экселя открыл, столбец поменял на текст, без проблем, никаких энтеров не нажимал.
0
|
0 / 0 / 0
Регистрация: 19.02.2016
Сообщений: 14
|
|
20.01.2017, 07:44 [ТС] | 19 |
Вы теперь загрузите в access через запрос эти данные, и увидите что это не текст.
Тема актуальна, решения не нашел, желательно бы без махинаций в excel
0
|
26812 / 14491 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
|||||||||||
20.01.2017, 08:08 | 20 | ||||||||||
Сообщение было отмечено Badya1991 как решение
Решение
Badya1991, измените параметр HDR на HDR=No. Первая строка будет именем, текстом и запрос пройдет
Кстати, параметр XML в драйвере необязательный, он нужен для файлов с программируемой структурой, типа xlsm. Но можно и оставить Добавлено через 8 минут Да даже в самом запросе можно не брать строку с именем
1
|
20.01.2017, 08:08 | |
20.01.2017, 08:08 | |
Помогаю со студенческими работами здесь
20
Глюк при импорте Excel в Access Проблемы при импорте из Excel в Access VBA - потеря текста при импорте из excel в access Отображение свойств файла Excel при импорте в Access Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |