Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема ADOX и Excel (число прочтений - 2029 )
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
ADOX и Excel
28. Июля 2008 :: 06:01
Печать  
Народ, никто не работал с субжем?

ниже есть пример кода, проблема в том, что не смотря на нормально выставленный курсор, все равно не дает перемещаться вверх :(

[code]
           Попытка
                 Connection      = CreateObject("ADODB.Connection");
                 Catalog            = CreateObject("ADOX.Catalog");
                 RecordSet      = CreateObject("ADODB.Recordset");
                 RecordSet.CursorType = 3;
                 RecordSet.LockType = 2;
                 Command            = CreateObject("ADODB.Command");
                 Connection.Open(СтрокаПодключения);
           Исключение
                 Сообщить(ОписаниеОшибки(), "!!!");
                 СтатусВозврата(0);
                 Возврат;
           КонецПопытки;
     Catalog.ActiveConnection=СтрокаПодключения;
     Command.ActiveConnection=Connection;
     Для k=0 По Catalog.Tables.Count-1 Цикл
           кк=0;
           имяТаблицы = Catalog.Tables.Item(k).Name;
           Command.CommandText="select * from ["+имяТаблицы+"]";
           RecordSet=Command.Execute;

           RecordSet.MoveFirst();
           Пока RecordSet.EOF() = 0 Цикл
           RecordSet.MoveNext();
           RecordSet.MovePrevious();
   КонецЦикла;

[/code]

на RecordSet.MovePrevious(); Кричит, что операция не может быть выполнена и все тут :(
Помогите плиззз....
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ADOX и Excel
Ответ #1 - 28. Июля 2008 :: 06:20
Печать  
pavlo писал(а) 28. Июля 2008 :: 06:01:
ниже есть пример кода, проблема в том, что не смотря на нормально выставленный курсор, все равно не дает перемещаться вверх Печаль

Всё, что ты выставил в
Код
Выбрать все
			RecordSet	= CreateObject("ADODB.Recordset");
			RecordSet.CursorType = 3;
			RecordSet.LockType = 2; 


куда-то девается в
Код
Выбрать все
		RecordSet=Command.Execute; 


Подмигивание

+ Цитата:
If a provider does not support the requested cursor type, it may return another cursor type. The CursorType property will change to match the actual cursor type in use when the Recordset object is open. To verify specific functionality of the returned cursor, use the Supports method.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: ADOX и Excel
Ответ #2 - 28. Июля 2008 :: 06:22
Печать  
там есть в коде
           Command.CommandText="select * from ["+имяТаблицы+"]";
           RecordSet=Command.Execute;

Про цитату не понял, так как у меня тут в книге описано, что такого вида провайдер должен держать этот тип Печаль
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: ADOX и Excel
Ответ #3 - 28. Июля 2008 :: 08:26
Печать  
Странно, не видел нигде описание этого параметра, но подсказали, что объекту Connection тоже нужно прописать Connection.CursorLocation = 3; и только после этого в связке с CursorType для RecordSet все нормально пашет Улыбка
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать