Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/ADO - класс для работы с данными Excel при помощи SQL - Страница 3 - Мир MS Excel

Старая форма входа
  • Страница 3 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Модератор форума: _Boroda_, китин  
Мир MS Excel » Вопросы и решения » Готовые решения » ADO - класс для работы с данными Excel при помощи SQL
ADO - класс для работы с данными Excel при помощи SQL
Gamma754 Дата: Четверг, 10.04.2014, 17:36 | Сообщение № 41
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 2 ±
Замечаний: 0% ±

Excel 2007
Спасибо всем за ответы!

Нельзя удалять с помошью ADO - да, я так и подозревал.
Connection.Mode - благодарю, попробуем )).

P. S. А зачем вам синтаксис для таблицы [test1$A:C]
У меня иногда, без видимых (для меня) причин, вылезает ошибка "Отсутствует значение для одного лили нескольких требуемых параметров".
Этот синтаксис ее исправляет.

Рассматриваю вариант, когда основная масса таблиц в экселе, но те таблицы, кот не редактируются руками, можно выносить в access, и там полновесно работать с delete. А основная масса таблиц в экселе потому, что я добавляю туда данные руками (так удобнее).


Сообщение отредактировал Gamma754 - Четверг, 10.04.2014, 18:00
 
Ответить
СообщениеСпасибо всем за ответы!

Нельзя удалять с помошью ADO - да, я так и подозревал.
Connection.Mode - благодарю, попробуем )).

P. S. А зачем вам синтаксис для таблицы [test1$A:C]
У меня иногда, без видимых (для меня) причин, вылезает ошибка "Отсутствует значение для одного лили нескольких требуемых параметров".
Этот синтаксис ее исправляет.

Рассматриваю вариант, когда основная масса таблиц в экселе, но те таблицы, кот не редактируются руками, можно выносить в access, и там полновесно работать с delete. А основная масса таблиц в экселе потому, что я добавляю туда данные руками (так удобнее).

Автор - Gamma754
Дата добавления - 10.04.2014 в 17:36
Watcher_1 Дата: Пятница, 06.06.2014, 10:07 | Сообщение № 42
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Приветствую!
Возможно ли с помощью запроса вытащить данные из запароленного экслель файла?
Как изменится строка подключения?
 
Ответить
СообщениеПриветствую!
Возможно ли с помощью запроса вытащить данные из запароленного экслель файла?
Как изменится строка подключения?

Автор - Watcher_1
Дата добавления - 06.06.2014 в 10:07
PowerBoy Дата: Пятница, 06.06.2014, 13:56 | Сообщение № 43
Группа: Проверенные
Ранг: Участник
Сообщений: 100
Репутация: 31 ±
Замечаний: 0% ±

2003
Возможно ли с помощью запроса вытащить данные из запароленного экслель файла?


Если на книге стоит пароль, то нельзя никак.
 
Ответить
Сообщение
Возможно ли с помощью запроса вытащить данные из запароленного экслель файла?


Если на книге стоит пароль, то нельзя никак.

Автор - PowerBoy
Дата добавления - 06.06.2014 в 13:56
ikki Дата: Пятница, 06.06.2014, 23:48 | Сообщение № 44
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
сделать копию файла.
открыть с паролем.
сохранить без пароля.
всё макросом.

и - тащите, шура, тащите.
 
Ответить
Сообщениесделать копию файла.
открыть с паролем.
сохранить без пароля.
всё макросом.

и - тащите, шура, тащите.

Автор - ikki
Дата добавления - 06.06.2014 в 23:48
Watcher_1 Дата: Четверг, 12.06.2014, 10:12 | Сообщение № 45
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
сделать копию файла.
открыть с паролем.
сохранить без пароля.
всё макросом.

А если файл в сети лежит и весит сотни метров?
Однако долго будет все эти манипуляции делать...
 
Ответить
Сообщение
сделать копию файла.
открыть с паролем.
сохранить без пароля.
всё макросом.

А если файл в сети лежит и весит сотни метров?
Однако долго будет все эти манипуляции делать...

Автор - Watcher_1
Дата добавления - 12.06.2014 в 10:12
Watcher_1 Дата: Четверг, 12.06.2014, 10:27 | Сообщение № 46
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Еще столкнулся с такой проблемой.
В книге динамичное кол-во листов.
Возможно ли с помощью SQL вытащить названия всех имеющихся листов в книге?
Заранее спасибо за возможную помощь в данном вопросе.
 
Ответить
СообщениеЕще столкнулся с такой проблемой.
В книге динамичное кол-во листов.
Возможно ли с помощью SQL вытащить названия всех имеющихся листов в книге?
Заранее спасибо за возможную помощь в данном вопросе.

Автор - Watcher_1
Дата добавления - 12.06.2014 в 10:27
ikki Дата: Четверг, 12.06.2014, 10:27 | Сообщение № 47
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
долго будет все эти манипуляции делать...
это очевидно. не очень понимаю, зачем ради этого создавать новое сообщение.


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki


Сообщение отредактировал ikki - Четверг, 12.06.2014, 10:29
 
Ответить
Сообщение
долго будет все эти манипуляции делать...
это очевидно. не очень понимаю, зачем ради этого создавать новое сообщение.

Автор - ikki
Дата добавления - 12.06.2014 в 10:27
Watcher_1 Дата: Четверг, 12.06.2014, 16:12 | Сообщение № 48
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
это очевидно. не очень понимаю, зачем ради этого создавать новое сообщение.

Зато теперь, на мой последний вопрос, вы мне уже не предложите открыть книгу и считать названия всех листов... )))
 
Ответить
Сообщение
это очевидно. не очень понимаю, зачем ради этого создавать новое сообщение.

Зато теперь, на мой последний вопрос, вы мне уже не предложите открыть книгу и считать названия всех листов... )))

Автор - Watcher_1
Дата добавления - 12.06.2014 в 16:12
ikki Дата: Четверг, 12.06.2014, 16:27 | Сообщение № 49
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
я Вам больше скажу - с помощью SQL решить Ваш второй вопрос в принципе нельзя. это точно.
про первый - точно утверждать не могу. возможно, есть хитрый параметр в строке подключения, мне неизвестный.
впрочем, PowerBoy и на первый вопрос ответил достаточно категорично, не так ли?
а он эту тему знает хорошо.


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki


Сообщение отредактировал ikki - Четверг, 12.06.2014, 16:29
 
Ответить
Сообщениея Вам больше скажу - с помощью SQL решить Ваш второй вопрос в принципе нельзя. это точно.
про первый - точно утверждать не могу. возможно, есть хитрый параметр в строке подключения, мне неизвестный.
впрочем, PowerBoy и на первый вопрос ответил достаточно категорично, не так ли?
а он эту тему знает хорошо.

Автор - ikki
Дата добавления - 12.06.2014 в 16:27
Watcher_1 Дата: Четверг, 12.06.2014, 16:30 | Сообщение № 50
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
я Вам больше скажу - с помощью SQL решить Ваш второй вопрос в принципе нельзя.

Я это понял.
Остановился на GetObject
 
Ответить
Сообщение
я Вам больше скажу - с помощью SQL решить Ваш второй вопрос в принципе нельзя.

Я это понял.
Остановился на GetObject

Автор - Watcher_1
Дата добавления - 12.06.2014 в 16:30
Watcher_1 Дата: Понедельник, 16.06.2014, 08:25 | Сообщение № 51
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
я Вам больше скажу - с помощью SQL решить Ваш второй вопрос в принципе нельзя. это точно.

Ан нет. Оказывается все прекрасно можно...
http://www.planetaexcel.ru/forum....e104186


Сообщение отредактировал Watcher_1 - Понедельник, 16.06.2014, 10:25
 
Ответить
Сообщение
я Вам больше скажу - с помощью SQL решить Ваш второй вопрос в принципе нельзя. это точно.

Ан нет. Оказывается все прекрасно можно...
http://www.planetaexcel.ru/forum....e104186

Автор - Watcher_1
Дата добавления - 16.06.2014 в 08:25
ikki Дата: Понедельник, 16.06.2014, 09:45 | Сообщение № 52
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
ухты. нет пределов. спс за ссылку.
тогда надо искать вариант с доступом к запароленному файлу...


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщениеухты. нет пределов. спс за ссылку.
тогда надо искать вариант с доступом к запароленному файлу...

Автор - ikki
Дата добавления - 16.06.2014 в 09:45
Rioran Дата: Понедельник, 16.06.2014, 09:45 | Сообщение № 53
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
planetaexcel

Watcher_1, после перехода по ссылке пишет "Тема не найдена".


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
Сообщение
planetaexcel

Watcher_1, после перехода по ссылке пишет "Тема не найдена".

Автор - Rioran
Дата добавления - 16.06.2014 в 09:45
SkyPro Дата: Понедельник, 16.06.2014, 10:22 | Сообщение № 54
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Rioran, в ссылке замени ";" на "&".


skypro1111@gmail.com
 
Ответить
СообщениеRioran, в ссылке замени ";" на "&".

Автор - SkyPro
Дата добавления - 16.06.2014 в 10:22
Rioran Дата: Понедельник, 16.06.2014, 20:45 | Сообщение № 55
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
SkyPro, спасибо, с домашнего компа проблем нет. Наверно, корпоративные фильтры какие-то.


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
СообщениеSkyPro, спасибо, с домашнего компа проблем нет. Наверно, корпоративные фильтры какие-то.

Автор - Rioran
Дата добавления - 16.06.2014 в 20:45
anvg Дата: Среда, 18.06.2014, 14:09 | Сообщение № 56
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Доброе время суток.
Цитата
тогда надо искать вариант с доступом к запароленному файлу...

Скорее всего только в обход, как написано на уважаемом ресурсе.
 
Ответить
СообщениеДоброе время суток.
Цитата
тогда надо искать вариант с доступом к запароленному файлу...

Скорее всего только в обход, как написано на уважаемом ресурсе.

Автор - anvg
Дата добавления - 18.06.2014 в 14:09
PowerBoy Дата: Пятница, 20.06.2014, 09:26 | Сообщение № 57
Группа: Проверенные
Ранг: Участник
Сообщений: 100
Репутация: 31 ±
Замечаний: 0% ±

2003
Скорее всего только в обход


Проверил, действительно работает! Спасибо.

Класс можно доработать примерно так:

[vba]
Код

Public Sub Connect(Optional ByVal ConnectionString As String, Optional ConName As String = "", Optional header As Boolean = True)
     If Me.Connection Is Nothing Then
         Call Me.Create
     End If

     If ConnectionString = "" Then
         Me.Connection.Open GetExcelConnectionString(header)
         Me.ConnectionName = ""
         Me.ConnectionHeader = header
     Else
         On Error GoTo err_con
         Me.Connection.Open ConnectionString
         Me.ConnectionName = ConName
         Me.ConnectionHeader = header
     End If
      
Exit Sub

err_con:
         If InStr(Err.Description, "decrypt") > 0 Or InStr(Err.Description, "дешифровать") > 0 Then
             Set ProtectExcelFile = GetObject(GetPathExcelFileConnectionString(ConnectionString))
             Resume
         End If
          
End Sub

[/vba]


Excel + SQL = ActiveTables (http://vk.com/ExcelSQL)
 
Ответить
Сообщение
Скорее всего только в обход


Проверил, действительно работает! Спасибо.

Класс можно доработать примерно так:

[vba]
Код

Public Sub Connect(Optional ByVal ConnectionString As String, Optional ConName As String = "", Optional header As Boolean = True)
     If Me.Connection Is Nothing Then
         Call Me.Create
     End If

     If ConnectionString = "" Then
         Me.Connection.Open GetExcelConnectionString(header)
         Me.ConnectionName = ""
         Me.ConnectionHeader = header
     Else
         On Error GoTo err_con
         Me.Connection.Open ConnectionString
         Me.ConnectionName = ConName
         Me.ConnectionHeader = header
     End If
      
Exit Sub

err_con:
         If InStr(Err.Description, "decrypt") > 0 Or InStr(Err.Description, "дешифровать") > 0 Then
             Set ProtectExcelFile = GetObject(GetPathExcelFileConnectionString(ConnectionString))
             Resume
         End If
          
End Sub

[/vba]

Автор - PowerBoy
Дата добавления - 20.06.2014 в 09:26
SvetaS Дата: Вторник, 15.09.2015, 07:07 | Сообщение № 58
Группа: Пользователи
Ранг: Новичок
Сообщений: 44
Репутация: -10 ±
Замечаний: 80% ±

Excel 2013
nerv, Добрый День!
Решение ADO класса действительно очень гениальное hands hands hands , однако есть одна трудность
он не выгружает все данные с листа.
А именно на листе 156 000 строк , а он в массив грузит лишь 65536 методом ADO.ToArray() girl_sad girl_sad
т.е.

Dim ADO As New ADO
Dim Arr As Variant
ADO.DataSource = "d:\ÀÒÁ àâãóñò 2015_ðûáà_649.xlsm"
ADO.Query ("SELECT * FROM [лист1$A:AC]")

Arr = ADO.ToArray()

т.е. в окне отладчика "Locals"
Arr(65536) - максимальное число
А нужно чтобы обрабатывались данные размером хотя бы до 200 000 - 350 000 строк.
ПОМОГИТЕ ПОЖАЛУЙСТА

girl_sad girl_sad girl_sad girl_sad
[moder]Ваш вопрос обсуждается здесь. Ветка Готовые решения не для вопросов[/moder]
 
Ответить
Сообщениеnerv, Добрый День!
Решение ADO класса действительно очень гениальное hands hands hands , однако есть одна трудность
он не выгружает все данные с листа.
А именно на листе 156 000 строк , а он в массив грузит лишь 65536 методом ADO.ToArray() girl_sad girl_sad
т.е.

Dim ADO As New ADO
Dim Arr As Variant
ADO.DataSource = "d:\ÀÒÁ àâãóñò 2015_ðûáà_649.xlsm"
ADO.Query ("SELECT * FROM [лист1$A:AC]")

Arr = ADO.ToArray()

т.е. в окне отладчика "Locals"
Arr(65536) - максимальное число
А нужно чтобы обрабатывались данные размером хотя бы до 200 000 - 350 000 строк.
ПОМОГИТЕ ПОЖАЛУЙСТА

girl_sad girl_sad girl_sad girl_sad
[moder]Ваш вопрос обсуждается здесь. Ветка Готовые решения не для вопросов[/moder]

Автор - SvetaS
Дата добавления - 15.09.2015 в 07:07
SvetaS Дата: Вторник, 15.09.2015, 09:00 | Сообщение № 59
Группа: Пользователи
Ранг: Новичок
Сообщений: 44
Репутация: -10 ±
Замечаний: 80% ±

Excel 2013
Так была просьба расширить функционал "ADO класса" (готовое решение) к nerv.
 
Ответить
СообщениеТак была просьба расширить функционал "ADO класса" (готовое решение) к nerv.

Автор - SvetaS
Дата добавления - 15.09.2015 в 09:00
Pelena Дата: Вторник, 15.09.2015, 09:37 | Сообщение № 60
Группа: Админы
Ранг: Местный житель
Сообщений: 19158
Репутация: 4411 ±
Замечаний: ±

Excel 365 & Mac Excel
была просьба расширить функционал "ADO класса" (готовое решение) к nerv

Неужели? Одна просьба на 13 постов?
[p.s.]Вопрос риторический, отвечать не надо[/p.s.]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение
была просьба расширить функционал "ADO класса" (готовое решение) к nerv

Неужели? Одна просьба на 13 постов?
[p.s.]Вопрос риторический, отвечать не надо[/p.s.]

Автор - Pelena
Дата добавления - 15.09.2015 в 09:37
Мир MS Excel » Вопросы и решения » Готовые решения » ADO - класс для работы с данными Excel при помощи SQL
  • Страница 3 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!