• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Excel/msquery+sql+vba

  • Автор темы vanillavera
  • Дата начала
V

vanillavera

Уважаемые Гуру и все кто сможет помочь...

Не уверена что выбрала правильный раздел..

Расскажу суть проблемы с самого начала.
В организации 1С ТиС7.7. Много пользователей, работает вяло, минимальный объем данных выгружается достаточно долго.
Но при этом большинство пользователей извлекает по большей части сходные данные, просто по-разному организованные.
Возникла идея ограничить доступ пользователям к 1С, обеспечив их при этом необходимыми данными в виде готовых динамических отчетов в Excel(в форме сводных таблиц, чтобы каждый смотрел как ему удобно). Для этого выгружать некие срезы БД (за день, неделю, месяц), делать из них выбор необходимой информации посредством SQL запроса в готовые отчеты, где потом посредством макросов рассчитывать необходимые аналитики.
Данные выгружаются в DBF файлы.
Ввиду моего скудного знания SQL(и написания запросов SQL на VBA) запросы делаю посредством MS Query.
И собственно всё неплохо, если требуется простое соединение таблиц MS Query справляется нормально, все работает.
Проблемы возникают, если нужно сделать полное внешнее соединение таблиц. MS Query умирает.
Да собственно и если соединять более двух таблиц уже та же история.
Что вообще лучше сделать?
Если запрос SQL будет написан текстом непосредственно в макросе, то больше шансов что он выполнится, чем с использованием MS Query?
Если не использовать выгрузку в DBF файлы, а подключаться к тем же данным в SQL формате на сервере, поможет ли это? ускорит процесс? есть шанс, что MS Query сможет с этим справится?

А может есть какие более изящные решения, подскажите пожалуйста!
:) :*цензура*you:
 
V

vitfil

Подсказываю:
Как правило, требуется всего 2 вида отчетности:
1. Аналитическая. Как правило, анализируются данные прошлых периодов. Для отчетности используется отдельная БД и, например, OLAP-технологии. Еще лучше - отдельный сервер. Выгружаются большие массивы данных, поэтому лучше всего проводить эту операцию ночью.
2. Оперативная. Тут имеет смысл определить круг отчетов, необходимых для работы и оптимизировать процедуры их формирования. Вполне допускаю, что придется переделывать структуру регистров, документов, справочников.

Обе задачи сами по себе достаточно неординарные, посему представляют особенный интерес. Успехов в решении!
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!