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

Откуда:
Сообщений: 20
Всем привет! Мне нужно импортировать таблицу эксель в аксесс.
делаю это следующей командой

SELECT * INTO newtable23
FROM (SELECT CCD_0D_02,CCD_02_01,CCD_02_02, CCD_02_03, CCD_02_04, CCD_02_05, CCD_02_06, CCD_02_07, CCD_02_08, CCD_02_09, CCD_02_10,
CCD_08_01, CCD_08_02, CCD_08_03, CCD_08_04, CCD_08_05, CCD_08_06, CCD_08_07, CCD_08_08, CCD_08_09, CCD_08_10, 
CCD_09_01, CCD_09_02, CCD_09_03 
FROM 2014
WHERE CCD_33_01_ between "7304000000" and "7306999999")


Этот код работает, но в созданной таблице access в некоторых столбцах меняется тип данных с числового на текстовый. Подскажите, как можно сохранить исходное форматирование экселя?
29 сен 17, 11:30    [20831220]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение исходного форматирования ячеек при импорте таблицы из Excel в Access  [new]
kudim
Member

Откуда:
Сообщений: 20
";" с обратной стороны скобки.
29 сен 17, 11:32    [20831226]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение исходного форматирования ячеек при импорте таблицы из Excel в Access  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4083
kudim
столбцах меняется тип данных с числового на текстовый.

значит в этих столбцах в екселе текстовый тип данных или #НДД в первых 20 строках
29 сен 17, 12:04    [20831348]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение исходного форматирования ячеек при импорте таблицы из Excel в Access  [new]
kudim
Member

Откуда:
Сообщений: 20
ПЕНСИОНЕРКА,
вы правы, перепроверил, и у меня в нескольких соединяемых документах есть пустые ячейки
в столбце, в котором в дальнейшем само по себе меняется форматирование.
После заполнения этих ячеек нулями, проблема вроде как исчезла. Однако, нет ли способа
сохранить исходное форматирование несмотря на путаницу в столбцах экселя? То есть чтобы не приходилось
каждый раз перепроверять эксель на наличие ошибок?
29 сен 17, 14:53    [20831906]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение исходного форматирования ячеек при импорте таблицы из Excel в Access  [new]
Анатолий ( Киев )
Guest
kudim
нет ли способа сохранить исходное форматирование несмотря на путаницу в столбцах экселя? То есть чтобы не приходилось каждый раз перепроверять эксель на наличие ошибок?

Если ячейки с числами или пустые, то в запросе можно явно преобразовать тип поля.
Например вместо поля "CCD_02_01" указать
CDbl(NZ([CCD_02_01]),0)) As [CCD_02_01]
или
CDbl(IIF(IsNull([CCD_02_01]),0,[CCD_02_01])) As [CCD_02_01]
Вместо CDbl можно применить CCur, CLng и т.п.
29 сен 17, 15:51    [20832109]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение исходного форматирования ячеек при импорте таблицы из Excel в Access  [new]
Пафосный фермер
Member

Откуда:
Сообщений: 5
kudim,
вырежи кусок из экселя и кусок с таблицей из базы данных и выкини сюда на форум, тогда можно покумекать и реальное решение придумать, чтоб не гадать почему у тебя не получается. иногда банальные вещи бывают: надо экспортировать таблицу эксель в csv формат, а потом импорт в бд может сработать.
30 сен 17, 00:20    [20832915]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение исходного форматирования ячеек при импорте таблицы из Excel в Access  [new]
kudim
Member

Откуда:
Сообщений: 20
Пафосный фермер,

выкладываю вам проблемную строку в формате экселя. В ней, как писали в предыдущих сообщениях, есть пустые строки вначале (числа начинаются только с 454 строки). Поэтому числовой формат ячейки в экселе аксессом воспринимается как текст.

Понятно, что проще всего заполнить их нулями, однако это неудобно делать каждый раз.

Код предложенный Анатолием
CDbl(NZ([CCD_02_01]),0)) As [CCD_02_01]
действительно помогает сохранить исходное форматирование числовых ячеек, однако работает только на одном компьютере. На другом почему-то возникает ошибка "псевдоним
CCD_02_01 (это название столбца) привёл к возникновению циклической ссылки".
Так что сейчас я пытаюсь понять что именно делает эта строка кода и по какой причине возникает ошибка. Буду рад вашей помощи)

К сообщению приложен файл (эксель.xlsx - 51Kb) cкачать
2 окт 17, 09:00    [20835334]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение исходного форматирования ячеек при импорте таблицы из Excel в Access  [new]
MrShin
Member

Откуда:
Сообщений: 909
kudim
CCD_02_01 (это название столбца) привёл к возникновению циклической ссылки

Добавьте имя таблицы перед именем колонки и ошибка исчезнет. Ну или переименуйте вычисляемую колонку.
2 окт 17, 09:07    [20835344]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение исходного форматирования ячеек при импорте таблицы из Excel в Access  [new]
MrShin
Member

Откуда:
Сообщений: 909
А лучше всего импортируйте данные сначала в существующую временную таблицу со всеми полями типа Текст и именами колонок, например F1, F2,...F100, а затем запросом уже из этой таблицы пишите куда нужно со всей необходимой конвертацией. Так бедет надежнее. Если будут встречаться "плохие" данные (а на это нужно рассчитывать!), которые не получается конвертировать, сможете выдать корректную диагностику пользователю вместо невнятной ошибки или молчаливого пропуска ошибочных данных.
2 окт 17, 09:13    [20835354]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение исходного форматирования ячеек при импорте таблицы из Excel в Access  [new]
kudim
Member

Откуда:
Сообщений: 20
MrShin,
У меня экселевские файлы привязаны к аксессу, то есть там только одна страница ( как на скриншоте ) Пробую записать следующим образом, но выдает ошибки синтаксиса.
CDbl(IIF(IsNull([(SELECT[вес нетто (тн)]FROM [ИП 2015])),0,(SELECT[вес нетто (тн)]FROM [ИП 2015]) As (SELECT[вес нетто (тн)]FROM [ИП 2015])
2 окт 17, 09:57    [20835463]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение исходного форматирования ячеек при импорте таблицы из Excel в Access  [new]
kudim
Member

Откуда:
Сообщений: 20
MrShin,

скриншот

К сообщению приложен файл. Размер - 51Kb
2 окт 17, 09:58    [20835465]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить