|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.05.2014, 19:59 | #1 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
Как взять из Excel данные, начиная с первого столбца, средствами ADO?
На Excel-листе первый столбец пустой и ADO берёт данные с первого непустого столбца.
Можно ли указать ADO, чтобы он брал данные с первого столбца, даже если первый столбец пустой? Зачем это надо? Макросу указывается, с каким столбцом надо работать. Например, указали столбец 2. Но если на Excel-листе первый столбец пустой, то макрос будет работать со столбцом 3. Используемые коды по взятию данных из Excel-листа: Код:
Код:
|
25.05.2014, 02:51 | #2 |
Форумчанин
Регистрация: 10.02.2012
Сообщений: 109
|
По видимому вы используете в строке подключения HDR=NO, и первый столбец совсем пустой. Поэтому и не берёт. Видимо особенность драйвера для Excel - всё же Excel не совсем полноценная база данных. Чтобы драйвер воспринимал столбец необходимо иметь где-нибудь в нём какое-нибудь данное.
Например, в А1 бла-бла Тогда, при HDR=NO, и указании таблицы, допустим, [Лист1$A3:C10000], первый столбец воспринимается как текстовый длинной 255 символов. Если есть возможность, то первой строке используйте названия столбцов, а в подключении укажите HDR=YES. |
25.05.2014, 08:02 | #3 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
AndVGri, первый столбец совсем пустой. В программе "Excel" считается нормальным, если какие-то столбцы пустые. Иногда даже делают некоторые столбцы пустыми, чтобы лучше выглядела таблица и было удобно пользоваться таблицей.
Возможности нет использовать в пустом столбце заголовок столбца или записать текст "бла-бла". Вот такой код я использую и данные берутся с первого непустого столбца: Код:
Код:
Примечание Для работы кода нужно подключить библиотеку: Tools - References... - Microsoft ActiveX Data Objects версия Library. Последний раз редактировалось Скрипт; 25.05.2014 в 08:09. |
25.05.2014, 13:55 | #4 |
Форумчанин
Регистрация: 07.03.2010
Сообщений: 796
|
попробуйте сделать нужный диапазон именованным и обращаться к нему
Код:
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
|
25.05.2014, 17:33 | #5 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
R Dmitry, да, Ваш способ работает, но применить его я не смогу, т.к. не управляю Excel-файлами, которые являются базами данных.
Могу обрабатывать Excel-файлы, которые являются базами данных, только в том виде, в котором они есть. |
25.05.2014, 18:20 | #6 |
Форумчанин
Регистрация: 07.03.2010
Сообщений: 796
|
Ну у баз данных все должно быть одинаково )
----------- Попробуйте контролировать количество полей, и уже исходя из результата обрабатывайте нужное поле в рекордсете.
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
|
25.05.2014, 18:33 | #7 |
Форумчанин
Регистрация: 07.03.2010
Сообщений: 796
|
Да ... еще вопрос.
Зачем использовать позднее связывание если подключена соответствующая библиотека?
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
|
25.05.2014, 18:51 | #8 | |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
Цитата:
Последний раз редактировалось Скрипт; 25.05.2014 в 18:56. |
|
25.05.2014, 18:53 | #9 | |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
Цитата:
Я не могу никак влиять на Excel-файлы, которые представляют собой базы данных, - их формируют другие люди и я не могу никак влиять на этих людей. Что в этих Excel-файлах, которые представляются собой базы данных, может быть - я не знаю. Последний раз редактировалось Скрипт; 25.05.2014 в 18:58. |
|
26.05.2014, 11:41 | #10 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Тогда отказаться от SQL
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как взять из Excel данные, начиная с первого столбца, средствами ADO? | Скрипт | Microsoft Office Excel | 0 | 21.05.2014 12:21 |
Как отсортировать данные начиная с восьмого разряда? | Дмитрий177 | Microsoft Office Excel | 7 | 29.01.2011 04:43 |
Как средствами VBA экспортировать данные из Excel в Word? | Pavel_Ine | Microsoft Office Excel | 3 | 20.04.2009 14:14 |
В прямоугольной матрице переставить столбцы так, чтобы сумма элементов столбца росла от первого столбца | Aleo13 | Помощь студентам | 5 | 15.10.2008 18:34 |