-Поиск по дневнику

Поиск сообщений в rss_sql_ru_access_programming

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 16.03.2006
Записей:
Комментариев:
Написано: 4


текст запроса из txt

Среда, 25 Июня 2014 г. 15:57 + в цитатник
Еще один вопрос, связанный со сложными по структуре запросами.
Довольно-таки нудно форматировать SQL запрос в VBA для построения рекордсета. Существует ли опыт сохранения текста запроса в текстовый файл, а уже из него доставать этот текст как строку? Другими словами, нужно сформировать такой запрос
+
SELECT t2.*, tblOffParams.txt1, tblOffParams.txt2, tblOffParams.txt3, tblOffParams.txt4, tblOffParams.txt5, tblOffParams.int1, tblOffParams.dt1
FROM 
    (
        SELECT tblClients.client_id, tblOffPersRefer.persReferF & 
        (
            ' ' + tblClients.client_name +' '+tblClients.client_midname
        ) 
        AS Refer, tblClients.birthday, tblClients.sex, tblOffers.from, tblOffers.to FROM 
        (
            tblOffers LEFT JOIN tblClients ON tblOffers.client_CRM = tblClients.client_CRM
        ) 
        LEFT JOIN tblOffPersRefer ON tblOffers.offer_id = tblOffPersRefer.offer_id 
        WHERE tblOffers.offer_id= 101 AND tblClients.sex='2'
    )  
    AS t2 
    INNER JOIN tblOffParams ON t2.client_id = tblOffParams.client_id
    WHERE tblOffParams.offer_id=101
UNION ALL
SELECT t1.*, tblOffParams.txt1, tblOffParams.txt2, tblOffParams.txt3, tblOffParams.txt4, tblOffParams.txt5, tblOffParams.int1, tblOffParams.dt1
FROM 
    (
        SELECT tblClients.client_id, tblOffPersRefer.persReferM & 
        (
            ' ' + tblClients.client_name +' '+tblClients.client_midname
        ) 
        AS Refer, tblClients.birthday, tblClients.sex, tblOffers.from, tblOffers.to FROM 
        (
        tblOffers LEFT JOIN tblClients ON tblOffers.client_CRM = tblClients.client_CRM
        ) 
        LEFT JOIN tblOffPersRefer ON tblOffers.offer_id = tblOffPersRefer.offer_id 
        WHERE tblOffers.offer_id= 101 AND tblClients.sex='1'
    )  
    AS t1 
    INNER JOIN tblOffParams ON t1.client_id = tblOffParams.client_id
    WHERE tblOffParams.offer_id=101
UNION ALL
SELECT t0.*, tblOffParams.txt1, tblOffParams.txt2, tblOffParams.txt3, tblOffParams.txt4, tblOffParams.txt5, tblOffParams.int1, tblOffParams.dt1
FROM 
    (
        SELECT tblClients.client_id, tblOffPersRefer.persReferNot AS Refer, tblClients.birthday, tblClients.sex, tblOffers.from, tblOffers.to FROM 
        (
            tblOffers LEFT JOIN tblClients ON tblOffers.client_CRM = tblClients.client_CRM
        ) 
        LEFT JOIN tblOffPersRefer ON tblOffers.offer_id = tblOffPersRefer.offer_id 
        WHERE tblOffers.offer_id= 101 AND tblClients.sex='0'
    )  
    AS t0 
    INNER JOIN tblOffParams ON t0.client_id = tblOffParams.client_id
    WHERE tblOffParams.offer_id=101

Перегонять его в VBA - адский труд. И еще не дай бог что-нибудь в запросе изменится. А вот если бы что-то вроде
Set rs0 = CurrentDb.OpenRecordset(<ссылка на файл.txt>)
Возможно?

http://www.sql.ru/forum/1102092/tekst-zaprosa-iz-txt


 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку