Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Ошибка запроса к Excel (число прочтений - 856 )
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Ошибка запроса к Excel
27. Апреля 2011 :: 06:28
Печать  
Вот запрос к Excel:
Код
Выбрать все
    _база =СоздатьОбъект("ODBCDatabase");
	лФайл=СокрЛП(фПуть);
	СтрокаСоединения="
	|Driver={Microsoft Excel Driver )+";
	|";
	Если _база.Соединение(СтрокаСоединения)=0 Тогда
		Предупреждение("Ошибка открытия файла", 60);
		Возврат;
	КонецЕсли;

	_рс =СоздатьОбъект("ODBCRecordSet");
	_рс.УстБД(_база);
	_стр ="
	|select *
	|from [Лист 1$]
	|";
	_ит =СоздатьОбъект("ТаблицаЗначений");
	ит = _рс.ВыполнитьИнструкцию(_стр, _ит);
	_ит.ВыбратьСтроку();
 


Если в ячейках попадаються и стороковые и числовые значения, то последних вообще нет.
Как поборость?
или придется OLE использовать?
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ошибка запроса к Excel
Ответ #1 - 27. Апреля 2011 :: 12:38
Печать  
У ACE.OLEDB такой проблемы нету.

Код
Выбрать все
СтрокаСоединения = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + СокрЛП(лФайл) + ";Extended Properties=""Excel 12.0;HDR=YES"";";
conn = CreateObject("ADODB.Connection");
conn.Open(СтрокаСоединения);

_стр ="
	|select *
	|from [Лист 1$]
	|";
_рс = conn.Execute(_стр);
_рс.MoveFirst();
While _рс.EOF = 0 Do
	//Message("" + _рс.Fields("fieldname").Value);

	_рс.MoveNext();
EndDo;
 

  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать