Запуск SQL запросов из VBA для Access и Excel

sql-fun
sql-fun
В различных ситуация требуется какое либо действие сделать с БД с помощью SQL запросов, и при написании программы зачастую требуется это сделать из VBA кода. Для этого я использую различные схемы, в зависимости от сложности запроса и поставленной задачи.
, где для всех примеров myBD это объявленная наша БД, например через Dim myBD As Database и последующей Set myBD = CurrentDb , как пример для Access

 

1 — Запуск запросов через QueryDef, ИМХО — использую для ODBC:
Для первого варианта средствами Access делаем обычный запрос  с нужными нами действиями или несколько связанных между собой и запускаем его строчкой ниже. Вообще QueryDef является одним из лучших методов по запуску и выполнению (да запуск сохраненных SQl запросов через него, это далеко не все что он может) запросов в базах данных использующих драйвер ODBC.
myBD.QueryDefs(«ИМЯ_ЗАПРОСА»).Execute
или делаем непосредственный запуск запроса
myBD.QueryDefs.Execute «DELETE * FROM MyTabl»

 

2 — Запуск запросов через RecordSet, ИМХО — использую для ADO:
Этот вариант у меня прижился больше для Excel когда к БД подключаюсь через ADO драйвер, и требуется например сохранить данные в бд, через запрос (Помидорами не кидать, знаю что сам RecordSet позволяет это делать — тут просто пример как можно запустить запрос через него)
Set rs = cmd.Execute(«DELETE * FROM MyTabl», , adExecuteNoRecords)

 

3 — Непосредственный запуск запросов
ИМХО — использовать стоит в основном внутри Access и довольно редко, для мелких задач, а для всего отсльаного лучше через QueryDef:
DoCmd.RunSQL «DELETE * FROM MyTabl»
myBD.Execute «DELETE * FROM MyTabl»

Запуск SQL запросов из VBA для Access и Excel: 7 комментариев

  1. Ищу хорошего веб мастера.Хочу создать современный сайт, интересный людям и полезный для меня.Оплата по договоренности. подробнее…

    ————————
    WEB специалисты помогите

  2. WEB/IT-специалисты Создание сайтов, разработка разных web приложений, создание визиток и еще многие тысячиактуальных предложений по срочной работе для тех, кто тесно связан с WEB-IT-сферой.Только у нас опубликованы только реальные запросы.Всегда можно найти готовых заказчиков тут , которые уже готовы заплатить за вашу работу — дело нескольких минут.!
    Зарботок без проблем, получите бесплатно тестовую подписку.

Добавить комментарий

Ваш e-mail не будет опубликован.

28 ÷ = 4