Помогите пожалуйста. VBA & SQL in Access & Excel

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Galiant
Сообщения: 1
Зарегистрирован: 12 сен 2004, 21:57
Откуда: Moscow
Контактная информация:

Господа , очень нужна помощь сведующих в этом людей.
Объясню свою проблемму конкретнее:

Я писал только под PHP и работал с Mysql, т.е. сам SQL мне неплохо знаком, + учил когда-то VBA , но это было в инстике , года 4 назад, ничего не помню...

Предложили новую работу, там стоит большая (очень, около миллиона позиций я думаю) база данных. Она создана в формате Access. Из неё нужно будет делать выборку по определенным параметрам и либо делать это сразу из Excel, либо полученные рез-ты посылать в Excel. (Анализ полученных результатов происходит уже в Excel, видимо используются формулы Excel для экономико-статистических расчетов) Насколько я успел начитать за 3 часа в нэте, мне нужно будет использовать макросы написанные на VBA , вставлять в них запросики на SQL, и с помощью VBA-же распределять результаты по моему желанию. Механизм всего этого я представляю себе более - менее, но сам синтаксис и всякая конкретика мной подзабыты :) :wink:

Прошу ВАС подсказать ГДЕ можно почерпнуть именно эту часть программирования на VBA. т.к. Штудировать книжки по 1000 страниц у меня уже нет времени, скоро собеседование. :o ops: VBA для меня не совсем чужой как я писал выше, и SQL тоже далеко не чужой. Тема достаточно узкая (я даже помню в институте книжечки были по 30 страниц, но достать их нет возможности... :( ) ) , и я надеюсь что где-то есть описание подобных вещей. Люди, которые часто с этим сталкиваются, могут мне подсказать... я очень надеюсь по крайней мере :roll:

Если же никто не знает где можно почитать все это, я буду пробовать методом тыка и в этом случае прошу дать ответы на самые вводные вопросы :)

1) Как обращаться к базе данных Access из VB? я почему-то помню что это делалось через ODBC, так ли это? Если еще какие-то объекты ODA или ODO, они вроде тоже для этого....

2) Купил MSDN но там битый один диск, пойду менять в понедельник. Можно ли найти то что мне нужно в MSDN? (объем там жесткий конечно... за 3-5 дней я боюсь только успею найти все что нужно и прочесть :( )

3) для моих нужд будет достаточно только VBA-редактора поставляемного вместе с Office или нужен полный VB вместе с Visual Studio ?


Очень надеюсь на то что вы не устали читать всё это и не откажете в любезности написать ответ. Горю! Очень хочу на эту работу и вдруг пробел в знаниях блин всплыл :?
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

3) для моих нужд будет достаточно только VBA-редактора поставляемного вместе с Office или нужен полный VB вместе с Visual Studio ?
Достаточно.
Вообще, чтобы извлечь данные из базы и сохранить их в xls можно вообще обойтись ТОЛЬКО access-ом без каких-либо макросов.
1) Как обращаться к базе данных Access из VB?
Коннектиться к базе MSJet (т.е. .mdb) можно средствами ODBC, OLEDB ADO, DAO, RDS я бы выбрал DAO или ADO. В любом случае надо в редакторе VBA с помошью меню Tools/References подключить к проекту соответствующую библиотеку, например, "Microsoft DAO 3.6 Object Library" и использовать справку VBA (А к примеру в Excel в справке параллельно даются примеры для многих операций в рамках ADO и DAO.)

Подключив библиотеку нажмите F2 (Object Browser) выберите эту библиотеку и смотрите, какие там есть классы, и какие у этих классов есть свойства и методы.

Идеологии работы с ADO и DAO во многом идентичны. И там и там есть класс Connection со строкой подключения к базе, и методами
* Execute для выполгнения запросов Update/Delete/Insert
* OpenRecordset для выполнения запроса Select и просматривания полученного Recordset-а c помощью методов First/Next/Prev/Last и коллекции Fields(i) для доступа к полям этого Recordset-а.
Прошу ВАС подсказать ГДЕ можно почерпнуть именно эту часть программирования на VBA
Сам кроме хелпа ничего не читал по VBA.
rovi8
Сообщения: 1
Зарегистрирован: 06 мар 2005, 09:37

если пришлете свой E-mail, при необходимости
пришлю вам небольшую програмку описывающию
работу в VBA c запросами SQL

Также можете посмотреть статью
Евгения Немец по этой же тематике в
журнале "Мир ПК" за октябрь 2002 г.

Rogov8@mail.ru
Ответить