|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
14.04.2011, 15:18 | #1 |
Пользователь
Регистрация: 06.08.2009
Сообщений: 26
|
SQL, Recordset в Excel
Подскажите пожалуйста как правильно составить макрос, который позволит работать с определённым участком Excel-таблицы как с небольшой базой данных. И какой для этого нужно подключить дополнительный модуль? Допустим мне нужно обозначить Range("A1:E5") как источник данных, и с помощью SQL-запроса выбрать все записи, со значением "1" в поле "B1" (Типа "Select * from ??? where 'b1'=1"). Пытался читать про всякие объекты Recordset, но не совсем понимаю как это правильно использовать..
|
14.04.2011, 15:41 | #2 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Примера нет(ленивый я),поэтому разбирайтесь сами.Во вложении 2 вариата
для 2003 и 2007.у них дрова разные. Библиотеку ADO подключите
Анализ,обработка данных Недорого
|
14.04.2011, 17:30 | #3 |
Пользователь
Регистрация: 06.08.2009
Сообщений: 26
|
Разбираюсь, но немного запутался. Изначально осмелюсь предположить что для данного примера можно исключить эти константы:
Public Const sCn1 = "Provider=Microsoft.Jet.OLEDB.4.0;D ata Source=" Public Const sCn11 = "Provider=Microsoft.ACE.OLEDB.12.0; ;Data Source=" Public Const sCn2 = ";Extended Properties=""Excel 8.0;HDR=No"";" Public Const sCn12 = ";Extended Properties=""Excel 12.0;HDR=No"";" А также я немогу понять следущее: FROM [" & S_mame & "$A6:G65500]... S_mame что в этом примере означает? Вернее что мне надо в это место подставить, если я скажем беру таблицу из открытого текущего листа? Последний раз редактировалось Sanek_81; 14.04.2011 в 17:39. |
14.04.2011, 17:37 | #4 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Давайте файл,с какими то данными.и что хотите взять,так проще будет.
В примере я Код:
Анализ,обработка данных Недорого
|
14.04.2011, 17:53 | #5 |
Пользователь
Регистрация: 06.08.2009
Сообщений: 26
|
Вот файлик, в нём таблица 5х5 мне нужно отобрать sql-запросом строки в которых стоблец "B" равен 1.
|
14.04.2011, 18:08 | #6 |
Пользователь
Регистрация: 06.08.2009
Сообщений: 26
|
Я что-то наподобие пытаюсь делать а мне на строке "rs.Open sSql, cn, adOpenStatic, adLockReadOnly " выдаёт ошибку 'Run-time error 3709' невозможно использование подключения для выполнения операции. Оно закрыто или не допускается в данном контексте.
|
14.04.2011, 18:18 | #7 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Я тут нарисовал такой Sanek_81.dqy
Код:
Работает, но вытягивает только данные-цифры. Т.е. выбрал такие две строки, если единичку к семёркам поставить: Код:
P.S. А почему именно SQL? Я как-то массивами обхожусь - и быстрее получается, и код как хочешь можно повернуть...
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 14.04.2011 в 18:23. |
14.04.2011, 18:48 | #8 |
Пользователь
Регистрация: 06.08.2009
Сообщений: 26
|
Что-то я ещё больше запутался... как это "работает но цифры вытягивает".. мне надо чтобы работал как с текстовыми данными
SQL мне удобен, много разных выборок в дальнейшем предстоит делать, поэтому хочу научиться именно этим методом работать. |
14.04.2011, 19:41 | #9 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Послушайтесь совета Hugo121.У вас данные должны быть сохранены как текст,иначе возьмет только числа
Код:
Анализ,обработка данных Недорого
|
15.04.2011, 16:08 | #10 |
Пользователь
Регистрация: 06.08.2009
Сообщений: 26
|
Спасибо большое, разобрался. В общем вся заминка у меня была в этом месте FROM [Лист3$A1:E5], тоесть не понимал что сюда надо прописать. А что означает буква T в запросе?
Последний раз редактировалось Sanek_81; 15.04.2011 в 16:32. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сортировка Recordset | Woodlin | Microsoft Office Access | 2 | 31.03.2011 07:51 |
Запросы SQL в Excel | clbman | Microsoft Office Excel | 2 | 15.06.2010 17:43 |
Update Recordset | Kveldulv | Microsoft Office Excel | 0 | 13.05.2010 16:42 |
Иморт данных из SQL в Excel при помощи QueryTable VBS, Иморт данных из SQL в Excel при помощи QueryTable | Valdocco | Microsoft Office Excel | 1 | 16.07.2009 21:50 |