Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
09 окт 2024, 21:23

Помогите разобраться с ADO и Excel

Автор beztrud, 19 июн 2014, 23:26

0 Пользователей и 1 гость просматривают эту тему.

beztrud

Все это конечно хорошо, но это все тот же COM. А хотелось бы разобраться с ADO. Код то рабочий.
Пока НЕ Выборка.EOF Цикл
Таблица=Объект.Вычисления.Добавить();
Таблица.ЧастьИзделия = Строка(Выборка.Fields(Выборка.Fields.Item(0).Name).Value);
Таблица.ВысотаФасада = Строка(Выборка.Fields(Выборка.Fields.Item(2).Name).Value);
Таблица.ШиринаФасада = Строка(Выборка.Fields(Выборка.Fields.Item(3).Name).Value);
Таблица.КоличествоФасадов = Строка(Выборка.Fields(Выборка.Fields.Item(4).Name).Value);
Выборка.MoveNext();
КонецЦикла;


Хотелось бы избавиться от ошибки
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'param'
Ошибка отображения типов:
Отсутствует отображение для типа 'ДанныеФормыЭлементКоллекции'

НО!!! Загрузка все-таки ПРОИСХОДИТ!!! Вот и не понятно мне, почему выскакивает ошибка, после которой в принципе никакая загрузка не должна происходить, но матюкнувшись, все данные пихает в табличную часть! и главное грамотно пихает! :angry:



Dethmontt

Блин, я тебе сто ссылок накидал как и что делать... Ты в упор не хочешь думать!!!
&НаКлиенте
Процедура ИмяФайлаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)

ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ДиалогОткрытияФайла.ПолноеИмяФайла = "";
Фильтр = "Excel (*.xlsx; *.xls)|*.xlsx; *.xls";
ДиалогОткрытияФайла.Фильтр = Фильтр;
ДиалогОткрытияФайла.Заголовок = "Выберите файлы";
Если ДиалогОткрытияФайла.Выбрать() Тогда
Объект.ИмяФайла = ДиалогОткрытияФайла.ПолноеИмяФайла;
ЧитатьФайлКлиент();
КонецЕсли;

КонецПроцедуры


&НаКлиенте
Функция ЧитатьФайлКлиент()

Connection=Новый COMОбъект("ADODB.Connection");
СтрокаПодключения = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+Строка(Объект.ИмяФайла)+";Extended Properties=""Excel 8.0;HDR=NO;IMEX=1""";
Попытка
Connection.Open(СтрокаПодключения);   
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
ТекстЗапроса =
"SELECT
|*
|FROM
|    [Лист1$] as Лист";
Выборка = Новый COMОбъект("ADODB.Recordset");
Попытка   
Выборка.Open(ТекстЗапроса, Connection);   
Исключение   
Сообщить ("Проблемы с выполнением запроса");   
КонецПопытки;   
Пока НЕ Выборка.EOF() Цикл

Сообщить("Значение в колонке 1 = "+Выборка.Fields.Item("F1").Value);

КонецЦикла;

КонецФункции
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск