Переключение на Главную Страницу Страницы: 1 [2] 3  ОтправитьПечать
Очень популярная тема (более 25 ответов) ODBCRecordSet + Excel (число прочтений - 26352 )
Quan
1c++ donor
1c++ power user
Отсутствует


I'm old, bald and ugly.

Сообщений: 273
Местоположение: Новосибирск -- Москва
Зарегистрирован: 20. Мая 2006
Пол: Мужской
Re: ODBCRecordSet + Excel
Ответ #15 - 18. Ноября 2006 :: 09:28
Печать  
Ага, вот нашел:

http://support.microsoft.com/kb/194124/EN-US/

Setting IMEX=1 tells the driver to use Import mode. In this state, the registry setting ImportMixedTypes=Text will be noticed. This forces mixed data to be converted to text.
  

А для тех, кто не хотел учить SQL, господь сотворил курсоры
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ODBCRecordSet + Excel
Ответ #16 - 18. Ноября 2006 :: 09:40
Печать  
Вот ведь черт... ImportMixedTypes=Text стояло, а вот вместе с IMEX=1 не пробовал Улыбка

Теперь осталось решить проблему, чтобы не драйвер не приводил числа в эксп.форму (5.00011e+010 и т.д.) и все будет гуд Улыбка



P.S. Большущее спасибо Улыбка
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ODBCRecordSet + Excel
Ответ #17 - 18. Ноября 2006 :: 09:51
Печать  
Quan, Arta

Я вас поместил в фак Улыбка

Кстати, для эксп. форм можно выкрутиться так:
Код
Выбрать все
	_м =СоздатьОбъект("Math");
	Сообщить(_м.Double("5.00011e+010"));
 

  

De quelle planète es-tu?
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ODBCRecordSet + Excel
Ответ #18 - 18. Ноября 2006 :: 09:55
Печать  
Да знаю Улыбка
но ты же понимаешь, что это уже будет изврат. Хочется получить все данные за один заход. Тем более что мне надо еще и джойнить таблицу Печаль

CONVERT нету
на CAST при любом datatype ругается FAILED! ICommandText::Execute():

больше ничего подобрать не могу Улыбка
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ODBCRecordSet + Excel
Ответ #19 - 18. Ноября 2006 :: 11:58
Печать  
Отвечаю сам себе. Поле станет текстовым (и драйвер не будет его никак конвертировать) при IMEX=1 и типе эхельной колонки не Текстовый, а только Общий.
  
Наверх
 
IP записан
 
HeiHeShang
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 101
Зарегистрирован: 01. Августа 2006
Re: ODBCRecordSet + Excel
Ответ #20 - 18. Ноября 2006 :: 12:13
Печать  
Можно конечно и оле дб использовать, но вот если оно не стоит на компе, тогда ой. Может подскажете как поставить ?
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ODBCRecordSet + Excel
Ответ #21 - 18. Ноября 2006 :: 12:19
Печать  
HeiHeShang писал(а) 18. Ноября 2006 :: 12:13:
Можно конечно и оле дб использовать, но вот если оно не стоит на компе, тогда ой. Может подскажете как поставить ?



Твоя проблема решается ;ReadOnly = 0  в Extended properties
  
Наверх
 
IP записан
 
HeiHeShang
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 101
Зарегистрирован: 01. Августа 2006
Re: ODBCRecordSet + Excel
Ответ #22 - 18. Ноября 2006 :: 12:47
Печать  
К сожалению не решается, пробовал.
  
Наверх
 
IP записан
 
HeiHeShang
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 101
Зарегистрирован: 01. Августа 2006
Re: ODBCRecordSet + Excel
Ответ #23 - 18. Ноября 2006 :: 12:52
Печать  
Может строка подключения неправильная ?

Driver={Microsoft Excel Driver (*.xls)}СмехriverId=790;Dbq=F:\MyExcel.xls;DefaultDir=F:\;ReadOnly=0;
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ODBCRecordSet + Excel
Ответ #24 - 26. Ноября 2006 :: 21:55
Печать  
С ОЛЕДБ вылезает проблема.
Делаю простой запрос Select * from [Sheet1$]
Вываливается в ошибку:
FAILED! ICommandText::Execute(): The Microsoft Jet database engine could not find the object 'Sheet1_1c_type_'.  Make sure the object exists and that you spell its name and the path name correctly.

А типа как тогда использовать знак доллара, если он не раздумываю пытается типизировать?
  
Наверх
 
IP записан
 
Antares
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 23
Зарегистрирован: 30. Ноября 2006
Re: ODBCRecordSet + Excel
Ответ #25 - 05. Декабря 2006 :: 05:55
Печать  
Очень очень давно я пользовал DDE из 1с6 - завязывался на excel. Интересно сейчас это кто-нибудь пользует?
  
Наверх
 
IP записан
 
bes
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 4
Зарегистрирован: 06. Декабря 2006
Re: ODBCRecordSet + Excel
Ответ #26 - 06. Декабря 2006 :: 15:26
Печать  
та же беда что и у "Arta", простейший запрос
     Текст ="
     |select
     | *
     |from [Платежи$]
     |";   

и не взлетает Печаль. Кто знает как быть??
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ODBCRecordSet + Excel
Ответ #27 - 06. Декабря 2006 :: 21:18
Печать  
Arta писал(а) 18. Ноября 2006 :: 08:04:
Ложка дегтя. Драйвер САМ определяет тип колонки по первым 15 строкам (значение правится в реестре). И если у тебя сперва идут цифры, то дальнейший текст в выборке исчезнет. Решение проблемы я так и не нашел. И сей факт накладывает большие ограничения на использование запросов к ехелю Печаль

Как же это сцуко мне сегодня нервов попортило.

Оказывается, в обратную сторону - те же грабли.
Если сперва идет текст, - то дальнейшие цифры в выборке тоже исчезают.

Причем не спасают ни общий формат ячеек, ни IMEX=1.
Пришлось весь лист переформатировать в чистый текст.

Маразм, блин. Как непостоянна любовь.  Озадачен
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ODBCRecordSet + Excel
Ответ #28 - 06. Декабря 2006 :: 21:30
Печать  
а ImportMixedTypes=Text?  Подмигивание
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ODBCRecordSet + Excel
Ответ #29 - 06. Декабря 2006 :: 21:52
Печать  
Arta писал(а) 06. Декабря 2006 :: 21:30:
а ImportMixedTypes=Text?  Подмигивание

Прикинь, я только что догнал, в чем проблема!

У меня первые 8 значений - чистый текст.
Т.е. нет как такового факта "MixedTypes" - только текст, стало быть любые числа после - это NULL, а указание ImportMixedTypes - игнорируется, т.к. неприменимо.

Можно, конечно, поставить TypeGuessRows=0, но будут тормоза.

Короче, я понял, это как раз из серии "чтоб всем ребятам всем трулялятам было веселей" Улыбка
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 3 
ОтправитьПечать