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



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ODBCRecordSet + Excel
Ответ #30 - 06. Декабря 2006 :: 22:23
Печать  
Я долго имел гемор с этим извратом.
Теперь просто пошел по пути скидывания xls в MSSQL. Слава богу в EMS SQL Manager работает копи-пасте для выделенных ячеек экселя.
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ODBCRecordSet + Excel
Ответ #31 - 06. Декабря 2006 :: 22:57
Печать  
А я вот, пока набросал макрос для трансформации первых колонок в текст:
Цитата:
Sub formatnum()
i = 1
Do While Range("A" + CStr(i)) <> ""
    s = "A" + CStr(i)
    v = Range(s).Value
    If IsNumeric(v) Then
       Range(s).Value = "'" + CStr(v)
    End If
   
    s = "B" + CStr(i)
    v = Range(s).Value
    If IsNumeric(v) Then
       Range(s).Value = "'" + CStr(v)
    End If
   
    s = "C" + CStr(i)
    v = Range(s).Value
    If IsNumeric(v) Then
       Range(s).Value = "'" + CStr(v)
    End If
   
    i = i + 1
Loop
End Sub

Как это написать красиво? Это мой первый шедевр на VBA. Круглые глаза
  

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



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ODBCRecordSet + Excel
Ответ #32 - 06. Декабря 2006 :: 23:20
Печать  
У меня руки не поднимаются посягнуть на VBA Улыбка
  
Наверх
 
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: ODBCRecordSet + Excel
Ответ #33 - 07. Декабря 2006 :: 06:36
Печать  
kms писал(а) 06. Декабря 2006 :: 22:57:
А я вот, пока набросал макрос для трансформации первых колонок в текст:
Цитата:
Sub formatnum()
....
End Sub

Как это написать красиво? Это мой первый шедевр на VBA. Круглые глаза


Я бы сделал так:
Код
Выбрать все
Sub formatnum()
    LastRow = Cells(1, 1).End(xlDown).Row
    Row = 1
    Do While Row <= LastRow
	  Col = 1
	  Do While Col <= 3
		v = Cells(Row, Col).Value
		If IsNumeric(v) Then
		    Cells(Row, Col).Value = "'" + CStr(v)
		End If
		Col = Col + 1
	  Loop

	  Row = Row + 1
    Loop
End Sub
 

  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ODBCRecordSet + Excel
Ответ #34 - 07. Декабря 2006 :: 08:49
Печать  
ADirks писал(а) 07. Декабря 2006 :: 06:36:
Я бы сделал так:

Супер, спасибо.
И намного быстрее, кстати.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Максим
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 1
Зарегистрирован: 01. Сентября 2008
Re: ODBCRecordSet + Excel
Ответ #35 - 01. Сентября 2008 :: 18:46
Печать  
Код
Выбрать все
	_база =СоздатьОбъект("ODBCDatabase");
	Если _база.Соединение("DRIVER=Microsoft Excel Driver (*.xls); DBQ=" +СокрЛП(_имя)) =0 Тогда
		Предупреждение("Ошибка открытия файла", 60);
		Возврат;
	КонецЕсли;

	_рс =СоздатьОбъект("ODBCRecordSet");
	_рс.УстБД(_база);

	_стр ="
	|select *
	|from ИмяТаблицы
	|";

	_ит =СоздатьОбъект("ИндексированнаяТаблица");
	_рс.ВыполнитьИнструкцию(_стр, _ит); 


Я конечно новичек, но я бы попробовал так:
Код
Выбрать все
	|from [ИмяТаблицы$ДиапазонЯчеек] 


Мой личный пример:
Код
Выбрать все
	|from [Лист1$A10:AZ] 


Выборка производится начиная с 10-й строки Листа1 до конца данных.
10-я строка становится заголовком таблицы.

Это точно проверено, также и на компах где никогда не устанавливался Офис.
« Последняя редакция: 01. Сентября 2008 :: 20:23 - Максим »  
Наверх
 
IP записан
 
Zloslaw
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 1
Зарегистрирован: 29. Июля 2009
Re: ODBCRecordSet + Excel
Ответ #36 - 17. Августа 2009 :: 10:24
Печать  
Пацаны, а можно как нить в ёхель инсэртить? Если возможно приведите плиз простой пример...
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: ODBCRecordSet + Excel
Ответ #37 - 17. Августа 2009 :: 13:13
Печать  
Zloslaw писал(а) 17. Августа 2009 :: 10:24:
Пацаны, а можно как нить в ёхель инсэртить? Если возможно приведите плиз простой пример...

так читай ветку сначала.
Только лучше делать в exel в пустой файл
также можно получать dbf и его читать в Exsel.
Еще можно использовать Йоксел.

  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 2 [3] 
ОтправитьПечать